diff options
161 files changed, 12572 insertions, 11815 deletions
@@ -121,7 +121,8 @@ else NODEP := 1 endif -C_SRCS := $(wildcard $(C_SUBDIR)/*.c $(C_SUBDIR)/*/*.c $(C_SUBDIR)/*/*/*.c) +C_SRCS_IN := $(wildcard $(C_SUBDIR)/*.c $(C_SUBDIR)/*/*.c $(C_SUBDIR)/*/*/*.c) +C_SRCS := $(foreach src,$(C_SRCS_IN),$(if $(findstring .inc.c,$(src)),,$(src))) C_OBJS := $(patsubst $(C_SUBDIR)/%.c,$(C_BUILDDIR)/%.o,$(C_SRCS)) C_ASM_SRCS += $(wildcard $(C_SUBDIR)/*.s $(C_SUBDIR)/*/*.s $(C_SUBDIR)/*/*/*.s) @@ -229,7 +230,7 @@ endif ifeq ($(NODEP),1) $(C_BUILDDIR)/%.o: c_dep := else -$(C_BUILDDIR)/%.o: c_dep = $(shell $(SCANINC) -I include -I tools/agbcc/include $(C_SUBDIR)/$*.c) +$(C_BUILDDIR)/%.o: c_dep = $(shell [[ -f $(C_SUBDIR)/$*.c ]] && $(SCANINC) -I include -I tools/agbcc/include $(C_SUBDIR)/$*.c) endif ifeq ($(DINFO),1) @@ -245,7 +246,7 @@ $(C_BUILDDIR)/%.o : $(C_SUBDIR)/%.c $$(c_dep) ifeq ($(NODEP),1) $(C_BUILDDIR)/%.o: c_asm_dep := else -$(C_BUILDDIR)/%.o: c_asm_dep = $(shell $(SCANINC) -I "" $(C_SUBDIR)/$*.s) +$(C_BUILDDIR)/%.o: c_asm_dep = $(shell [[ -f $(C_SUBDIR)/$*.s ]] && $(SCANINC) -I "" $(C_SUBDIR)/$*.s) endif $(C_BUILDDIR)/%.o: $(C_SUBDIR)/%.s $$(c_asm_dep) diff --git a/asm/macros/event.inc b/asm/macros/event.inc index bf1b8ce76..b6ca83596 100644 --- a/asm/macros/event.inc +++ b/asm/macros/event.inc @@ -902,15 +902,15 @@ .4byte \text .endm - @ Gives the player one of the specified (species) Pokemon at level level holding item. The unknown arguments should all be zeroes. - .macro givemon species:req, level:req, item:req, unknown1:req, unknown2:req, unknown3:req + @ Gives the player one of the specified (species) Pokemon at level level holding item. The trailing 0s are unused parameters + .macro givemon species:req, level:req, item:req .byte 0x79 .2byte \species .byte \level .2byte \item - .4byte \unknown1 - .4byte \unknown2 - .byte \unknown3 + .4byte 0x0 + .4byte 0x0 + .byte 0 .endm .macro giveegg species:req diff --git a/berry_fix/payload/Makefile b/berry_fix/payload/Makefile index dfcf2a796..63e326724 100644 --- a/berry_fix/payload/Makefile +++ b/berry_fix/payload/Makefile @@ -156,7 +156,7 @@ $(OBJ_DIR)/sym_bss.ld: sym_bss.txt $(RAMSCRGEN) .bss $< ENGLISH > $@ $(OBJ_DIR)/sym_common.ld: sym_common.txt $(C_OBJS) $(wildcard common_syms/*.txt) - $(RAMSCRGEN) COMMON $< ENGLISH -c $(C_BUILDDIR),common_syms,../../tools/agbcc/lib > $@ + $(RAMSCRGEN) COMMON $< ENGLISH -c $(C_BUILDDIR),common_syms > $@ $(OBJ_DIR)/sym_ewram.ld: sym_ewram.txt $(RAMSCRGEN) ewram_data $< ENGLISH > $@ diff --git a/build_tools.sh b/build_tools.sh index b11a9a1b2..93f6065be 100755 --- a/build_tools.sh +++ b/build_tools.sh @@ -1,12 +1,8 @@ #!/bin/sh -make -C tools/gbagfx CXX=${1:-g++} -make -C tools/scaninc CXX=${1:-g++} -make -C tools/preproc CXX=${1:-g++} -make -C tools/bin2c CXX=${1:-g++} -make -C tools/rsfont CXX=${1:-g++} -make -C tools/aif2pcm CXX=${1:-g++} -make -C tools/ramscrgen CXX=${1:-g++} -make -C tools/gbafix CXX=${1:-g++} -make -C tools/mid2agb CXX=${1:-g++} -make -C tools/mapjson CXX=${1:-g++} -make -C tools/jsonproc CXX=${1:-g++} + +echo "This script is deprecated. Next time, run \"make tools\" instead." +for dname in tools/*; do + if [ -f ${dname}/Makefile ]; then + make -C ${dname} CXX=${1:-g++} --no-print-directory + fi +done diff --git a/charmap.txt b/charmap.txt index 43ff737a0..c449d12b0 100644 --- a/charmap.txt +++ b/charmap.txt @@ -990,7 +990,16 @@ PH_NURSE_SOLO = 61 02 A_BUTTON = F8 00 B_BUTTON = F8 01 +L_BUTTON = F8 02 +R_BUTTON = F8 03 +START_BUTTON = F8 04 +SELECT_BUTTON = F8 05 +DPAD_UP = F8 06 +DPAD_DOWN = F8 07 +DPAD_LEFT = F8 08 +DPAD_RIGHT = F8 09 DPAD_UPDOWN = F8 0A +DPAD_LEFTRIGHT = F8 0B DPAD_NONE = F8 0C UP_ARROW_2 = F9 00 diff --git a/constants/berry_constants.inc b/constants/berry_constants.inc deleted file mode 100644 index 2ecd7ac36..000000000 --- a/constants/berry_constants.inc +++ /dev/null @@ -1,6 +0,0 @@ - .set BERRY_FIRMNESS_UNKNOWN, 0 - .set BERRY_FIRMNESS_VERY_SOFT, 1 - .set BERRY_FIRMNESS_SOFT, 2 - .set BERRY_FIRMNESS_HARD, 3 - .set BERRY_FIRMNESS_VERY_HARD, 4 - .set BERRY_FIRMNESS_SUPER_HARD, 5 diff --git a/constants/constants.inc b/constants/constants.inc index 7c74c8e87..6e5f5a81d 100644 --- a/constants/constants.inc +++ b/constants/constants.inc @@ -2,5 +2,4 @@ .include "constants/global.inc" .include "constants/contest_constants.inc" .include "constants/pokemon_data_constants.inc" - .include "constants/berry_constants.inc" .include "constants/contest_move_effects.inc" diff --git a/data/ereader_helpers.s b/data/ereader_helpers.s deleted file mode 100644 index 246fe749b..000000000 --- a/data/ereader_helpers.s +++ /dev/null @@ -1,53 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - -gUnknown_08625B6C:: @ 8625B6C -@ apparently e-reader trainer data? idk - .byte 0x6f, 0x57, 0x54, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x0c, 0x01, 0x00, 0x00, 0x00, 0x2e, 0x14, 0x0c, 0x0e, 0x23, 0x10, 0x47, 0x0a, 0x1f, 0x06, 0x24, 0x0e, 0x48, 0x0a, 0x0f, 0x06 - .byte 0x22, 0x27, 0x2c, 0x16, 0x07, 0x06, 0x01, 0x0c, 0x47, 0x0a, 0x06, 0x06, 0x24, 0x0e, 0x00, 0x1e, 0x19, 0x12, 0x05, 0x0c, 0x25, 0x16, 0x25, 0x10, 0x0d, 0x1c, 0x2a, 0x1c, 0x06, 0x0a, 0x06, 0x0c - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff - .byte 0xff, 0xff, 0xff, 0x00, 0x70, 0x01, 0xdb, 0x00, 0xbc, 0x00, 0xf7, 0x00, 0xdc, 0x00, 0x19, 0x01, 0x00, 0x00, 0x37, 0xff, 0x64, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x10, 0xa5, 0x94, 0x52, 0x8a - .byte 0x80, 0x00, 0x00, 0x00, 0x6f, 0x79, 0x69, 0xae, 0x71, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x26, 0x01, 0xb3, 0x00, 0x3e, 0x01, 0xbc, 0x00, 0xf7, 0x00, 0xca, 0x00, 0x00, 0x00, 0x00, 0xff - .byte 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x10, 0xa5, 0x94, 0x52, 0x0a, 0x06, 0x00, 0x00, 0x00, 0x95, 0x58, 0x59, 0x52, 0x79, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7d, 0x01, 0xb7, 0x00 - .byte 0xf6, 0x00, 0x39, 0x00, 0x59, 0x00, 0x85, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x9b, 0xff, 0x00, 0x00, 0x00, 0x10, 0xa5, 0x94, 0x52, 0x0a, 0x2f, 0x00, 0x00, 0x00, 0x8d, 0xae, 0x77, 0x7e - .byte 0x5d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff - - - .byte 0x6a, 0x79, 0x6b, 0x64, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x1b, 0x01, 0x00, 0x00, 0x00, 0x54, 0x27, 0x2b, 0x0e, 0xff, 0xff, 0x3b, 0x0a, 0x20, 0x06, 0x00, 0x0c, 0x13, 0x24, 0x2b, 0x0e - .byte 0xff, 0xff, 0x3b, 0x0a, 0x05, 0x12, 0x00, 0x0c, 0x6b, 0x26, 0x2b, 0x0e, 0xff, 0xff, 0x3b, 0x0a, 0x0e, 0x12, 0x00, 0x0c, 0x2c, 0x24, 0x2b, 0x0e, 0xff, 0xff, 0x3b, 0x0a, 0x17, 0x12, 0x00, 0x0c - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff - .byte 0xff, 0xff, 0xff, 0x00, 0x59, 0x01, 0xb7, 0x00, 0xca, 0x00, 0xb9, 0x00, 0x09, 0x00, 0x4a, 0x00, 0x00, 0x00, 0x37, 0x00, 0x64, 0x00, 0xff, 0x64, 0x00, 0x00, 0x00, 0x10, 0xa5, 0x94, 0x52, 0x0a - .byte 0x8c, 0x00, 0x00, 0x00, 0x69, 0x58, 0x60, 0x5d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x31, 0x01, 0xb3, 0x00, 0x07, 0x01, 0x4c, 0x01, 0x62, 0x00, 0x68, 0x00, 0x00, 0x00, 0xff, 0xff - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xa5, 0x94, 0x52, 0x0a, 0x80, 0x00, 0x00, 0x00, 0x55, 0x55, 0x5d, 0x96, 0x72, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x44, 0x01, 0x86, 0x00 - .byte 0x39, 0x00, 0x59, 0x00, 0x85, 0x00, 0x9c, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x10, 0xa5, 0x94, 0x52, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x65, 0x6f, 0x8e, 0x7e - .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff - .byte 0x72, 0x52, 0x5a, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x27, 0x01, 0x00, 0x00, 0x00, 0x4a, 0x04, 0x0e, 0x02, 0x35, 0x16, 0x10, 0x10, 0xda, 0x26, 0x3e, 0x10, 0x4a, 0x04, 0x0e, 0x02 - .byte 0x47, 0x0a, 0xd9, 0x26, 0x21, 0x16, 0x3e, 0x10, 0x14, 0x1e, 0x07, 0x1e, 0x30, 0x06, 0x23, 0x16, 0x24, 0x0e, 0x06, 0x0c, 0x18, 0x14, 0x2f, 0x14, 0x1a, 0x08, 0x27, 0x1c, 0x00, 0x0c, 0xff, 0xff - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff - .byte 0xff, 0xff, 0xff, 0x00, 0x3c, 0x01, 0x8d, 0x00, 0x2f, 0x00, 0x22, 0x00, 0xf7, 0x00, 0xe7, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xa5, 0x94, 0x52, 0x0a - .byte 0x03, 0x00, 0x00, 0x00, 0x54, 0x68, 0x5a, 0x7b, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x6b, 0x01, 0xc8, 0x00, 0xca, 0x00, 0x40, 0x01, 0x5c, 0x00, 0x49, 0x00, 0x00, 0x00, 0xff, 0x00 - .byte 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x10, 0xa5, 0x94, 0x52, 0x8a, 0x06, 0x00, 0x00, 0x00, 0x7b, 0x8f, 0x78, 0x51, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x24, 0x01, 0xb3, 0x00 - .byte 0x3e, 0x01, 0x4c, 0x01, 0xd5, 0x00, 0x5e, 0x00, 0x00, 0x00, 0x64, 0xc8, 0x00, 0x00, 0xc8, 0x00, 0x00, 0x00, 0x00, 0x10, 0xa5, 0x94, 0x52, 0x0a, 0x06, 0x00, 0x00, 0x00, 0x51, 0x8a, 0x6a, 0x7e - .byte 0x64, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff - .byte 0x9c, 0x54, 0xae, 0x79, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x20, 0x01, 0x00, 0x00, 0x00, 0x46, 0x0a, 0x02, 0x06, 0x20, 0x06, 0x0a, 0x0a, 0x23, 0x10, 0x00, 0x0c, 0x28, 0x0c, 0x14, 0x18 - .byte 0x32, 0x14, 0x02, 0x16, 0x05, 0x10, 0xff, 0xff, 0x0c, 0x1e, 0x0a, 0x0a, 0x34, 0x12, 0x11, 0x1e, 0x1a, 0x08, 0x05, 0x0c, 0x1e, 0x0a, 0x02, 0x06, 0x20, 0x06, 0x22, 0x0a, 0x15, 0x10, 0x01, 0x0c - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff - .byte 0xff, 0xff, 0xff, 0x00, 0x63, 0x01, 0xb3, 0x00, 0xf2, 0x00, 0x35, 0x00, 0x09, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0xff, 0x9b, 0x00, 0x00, 0x00, 0x10, 0xa5, 0x94, 0x52, 0x8a - .byte 0x00, 0x00, 0x00, 0x00, 0x58, 0x61, 0xae, 0x64, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x4b, 0x01, 0xc6, 0x00, 0x39, 0x00, 0xf2, 0x00, 0x26, 0x00, 0x59, 0x00, 0x00, 0x00, 0xff, 0x00 - .byte 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x10, 0xa5, 0x94, 0x52, 0x0a, 0x96, 0x00, 0x00, 0x00, 0x5b, 0x72, 0x6a, 0x91, 0xae, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7a, 0x01, 0x8d, 0x00 - .byte 0x5e, 0x00, 0xf7, 0x00, 0x55, 0x00, 0x05, 0x01, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x10, 0xa5, 0x94, 0x52, 0x0a, 0x96, 0x00, 0x00, 0x00, 0x8d, 0x85, 0x9e, 0xa0 - .byte 0x60, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff diff --git a/data/ereader_screen.s b/data/ereader_screen.s deleted file mode 100755 index 3d6572a49..000000000 --- a/data/ereader_screen.s +++ /dev/null @@ -1,7 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - -gUnknown_0862609C:: @ 862609C - .incbin "data/unknown_jp_62609C.bin" diff --git a/data/event_scripts.s b/data/event_scripts.s index b081ac234..412d68eff 100644 --- a/data/event_scripts.s +++ b/data/event_scripts.s @@ -1,6 +1,7 @@ #include "constants/global.h" #include "constants/battle_frontier.h" #include "constants/battle_setup.h" +#include "constants/berry.h" #include "constants/contest.h" #include "constants/easy_chat.h" #include "constants/event_objects.h" @@ -633,86 +634,86 @@ Std_MsgboxAutoclose:: @ 8271494 return EventScript_ResetAllBerries:: @ 827149D - setberrytree 2, ITEM_TO_BERRY(ITEM_ORAN_BERRY), 5 - setberrytree 1, ITEM_TO_BERRY(ITEM_PECHA_BERRY), 5 - setberrytree 11, ITEM_TO_BERRY(ITEM_ORAN_BERRY), 5 - setberrytree 13, ITEM_TO_BERRY(ITEM_PECHA_BERRY), 5 - setberrytree 4, ITEM_TO_BERRY(ITEM_ORAN_BERRY), 5 - setberrytree 76, ITEM_TO_BERRY(ITEM_CHERI_BERRY), 5 - setberrytree 8, ITEM_TO_BERRY(ITEM_CHERI_BERRY), 5 - setberrytree 10, ITEM_TO_BERRY(ITEM_LEPPA_BERRY), 5 - setberrytree 25, ITEM_TO_BERRY(ITEM_PINAP_BERRY), 5 - setberrytree 26, ITEM_TO_BERRY(ITEM_CHESTO_BERRY), 5 - setberrytree 66, ITEM_TO_BERRY(ITEM_CHESTO_BERRY), 5 - setberrytree 67, ITEM_TO_BERRY(ITEM_PINAP_BERRY), 5 - setberrytree 69, ITEM_TO_BERRY(ITEM_KELPSY_BERRY), 5 - setberrytree 70, ITEM_TO_BERRY(ITEM_KELPSY_BERRY), 5 - setberrytree 71, ITEM_TO_BERRY(ITEM_KELPSY_BERRY), 5 - setberrytree 55, ITEM_TO_BERRY(ITEM_BLUK_BERRY), 5 - setberrytree 56, ITEM_TO_BERRY(ITEM_BLUK_BERRY), 5 - setberrytree 5, ITEM_TO_BERRY(ITEM_CHERI_BERRY), 5 - setberrytree 6, ITEM_TO_BERRY(ITEM_LEPPA_BERRY), 5 - setberrytree 7, ITEM_TO_BERRY(ITEM_CHERI_BERRY), 5 - setberrytree 16, ITEM_TO_BERRY(ITEM_NANAB_BERRY), 5 - setberrytree 17, ITEM_TO_BERRY(ITEM_NANAB_BERRY), 5 - setberrytree 18, ITEM_TO_BERRY(ITEM_NANAB_BERRY), 5 - setberrytree 29, ITEM_TO_BERRY(ITEM_WEPEAR_BERRY), 5 - setberrytree 28, ITEM_TO_BERRY(ITEM_WEPEAR_BERRY), 5 - setberrytree 27, ITEM_TO_BERRY(ITEM_WEPEAR_BERRY), 5 - setberrytree 24, ITEM_TO_BERRY(ITEM_RAWST_BERRY), 5 - setberrytree 23, ITEM_TO_BERRY(ITEM_PECHA_BERRY), 5 - setberrytree 22, ITEM_TO_BERRY(ITEM_PECHA_BERRY), 5 - setberrytree 21, ITEM_TO_BERRY(ITEM_RAWST_BERRY), 5 - setberrytree 19, ITEM_TO_BERRY(ITEM_RAZZ_BERRY), 5 - setberrytree 20, ITEM_TO_BERRY(ITEM_RAZZ_BERRY), 5 - setberrytree 80, ITEM_TO_BERRY(ITEM_ORAN_BERRY), 5 - setberrytree 81, ITEM_TO_BERRY(ITEM_ORAN_BERRY), 5 - setberrytree 77, ITEM_TO_BERRY(ITEM_PERSIM_BERRY), 5 - setberrytree 78, ITEM_TO_BERRY(ITEM_PERSIM_BERRY), 5 - setberrytree 68, ITEM_TO_BERRY(ITEM_PERSIM_BERRY), 5 - setberrytree 31, ITEM_TO_BERRY(ITEM_SITRUS_BERRY), 5 - setberrytree 33, ITEM_TO_BERRY(ITEM_SITRUS_BERRY), 5 - setberrytree 34, ITEM_TO_BERRY(ITEM_POMEG_BERRY), 5 - setberrytree 35, ITEM_TO_BERRY(ITEM_POMEG_BERRY), 5 - setberrytree 36, ITEM_TO_BERRY(ITEM_POMEG_BERRY), 5 - setberrytree 83, ITEM_TO_BERRY(ITEM_HONDEW_BERRY), 5 - setberrytree 84, ITEM_TO_BERRY(ITEM_HONDEW_BERRY), 5 - setberrytree 85, ITEM_TO_BERRY(ITEM_SITRUS_BERRY), 5 - setberrytree 86, ITEM_TO_BERRY(ITEM_LEPPA_BERRY), 5 - setberrytree 37, ITEM_TO_BERRY(ITEM_ASPEAR_BERRY), 5 - setberrytree 38, ITEM_TO_BERRY(ITEM_ASPEAR_BERRY), 5 - setberrytree 39, ITEM_TO_BERRY(ITEM_ASPEAR_BERRY), 5 - setberrytree 40, ITEM_TO_BERRY(ITEM_PECHA_BERRY), 5 - setberrytree 41, ITEM_TO_BERRY(ITEM_PECHA_BERRY), 5 - setberrytree 42, ITEM_TO_BERRY(ITEM_PECHA_BERRY), 5 - setberrytree 46, ITEM_TO_BERRY(ITEM_WEPEAR_BERRY), 5 - setberrytree 45, ITEM_TO_BERRY(ITEM_PINAP_BERRY), 5 - setberrytree 44, ITEM_TO_BERRY(ITEM_NANAB_BERRY), 5 - setberrytree 43, ITEM_TO_BERRY(ITEM_RAZZ_BERRY), 5 - setberrytree 47, ITEM_TO_BERRY(ITEM_PERSIM_BERRY), 5 - setberrytree 48, ITEM_TO_BERRY(ITEM_ASPEAR_BERRY), 5 - setberrytree 49, ITEM_TO_BERRY(ITEM_RAWST_BERRY), 5 - setberrytree 50, ITEM_TO_BERRY(ITEM_CHESTO_BERRY), 5 - setberrytree 52, ITEM_TO_BERRY(ITEM_NANAB_BERRY), 5 - setberrytree 53, ITEM_TO_BERRY(ITEM_NANAB_BERRY), 5 - setberrytree 62, ITEM_TO_BERRY(ITEM_LEPPA_BERRY), 5 - setberrytree 64, ITEM_TO_BERRY(ITEM_LEPPA_BERRY), 5 - setberrytree 58, ITEM_TO_BERRY(ITEM_POMEG_BERRY), 5 - setberrytree 59, ITEM_TO_BERRY(ITEM_POMEG_BERRY), 5 - setberrytree 60, ITEM_TO_BERRY(ITEM_GREPA_BERRY), 5 - setberrytree 61, ITEM_TO_BERRY(ITEM_GREPA_BERRY), 5 - setberrytree 79, ITEM_TO_BERRY(ITEM_QUALOT_BERRY), 5 - setberrytree 14, ITEM_TO_BERRY(ITEM_QUALOT_BERRY), 5 - setberrytree 15, ITEM_TO_BERRY(ITEM_POMEG_BERRY), 5 - setberrytree 30, ITEM_TO_BERRY(ITEM_POMEG_BERRY), 5 - setberrytree 65, ITEM_TO_BERRY(ITEM_GREPA_BERRY), 5 - setberrytree 72, ITEM_TO_BERRY(ITEM_GREPA_BERRY), 5 - setberrytree 73, ITEM_TO_BERRY(ITEM_QUALOT_BERRY), 5 - setberrytree 74, ITEM_TO_BERRY(ITEM_QUALOT_BERRY), 5 - setberrytree 87, ITEM_TO_BERRY(ITEM_PECHA_BERRY), 5 - setberrytree 88, ITEM_TO_BERRY(ITEM_SITRUS_BERRY), 5 - setberrytree 89, ITEM_TO_BERRY(ITEM_RAWST_BERRY), 5 - setberrytree 82, ITEM_TO_BERRY(ITEM_LIECHI_BERRY), 5 + setberrytree 2, ITEM_TO_BERRY(ITEM_ORAN_BERRY), BERRY_STAGE_BERRIES + setberrytree 1, ITEM_TO_BERRY(ITEM_PECHA_BERRY), BERRY_STAGE_BERRIES + setberrytree 11, ITEM_TO_BERRY(ITEM_ORAN_BERRY), BERRY_STAGE_BERRIES + setberrytree 13, ITEM_TO_BERRY(ITEM_PECHA_BERRY), BERRY_STAGE_BERRIES + setberrytree 4, ITEM_TO_BERRY(ITEM_ORAN_BERRY), BERRY_STAGE_BERRIES + setberrytree 76, ITEM_TO_BERRY(ITEM_CHERI_BERRY), BERRY_STAGE_BERRIES + setberrytree 8, ITEM_TO_BERRY(ITEM_CHERI_BERRY), BERRY_STAGE_BERRIES + setberrytree 10, ITEM_TO_BERRY(ITEM_LEPPA_BERRY), BERRY_STAGE_BERRIES + setberrytree 25, ITEM_TO_BERRY(ITEM_PINAP_BERRY), BERRY_STAGE_BERRIES + setberrytree 26, ITEM_TO_BERRY(ITEM_CHESTO_BERRY), BERRY_STAGE_BERRIES + setberrytree 66, ITEM_TO_BERRY(ITEM_CHESTO_BERRY), BERRY_STAGE_BERRIES + setberrytree 67, ITEM_TO_BERRY(ITEM_PINAP_BERRY), BERRY_STAGE_BERRIES + setberrytree 69, ITEM_TO_BERRY(ITEM_KELPSY_BERRY), BERRY_STAGE_BERRIES + setberrytree 70, ITEM_TO_BERRY(ITEM_KELPSY_BERRY), BERRY_STAGE_BERRIES + setberrytree 71, ITEM_TO_BERRY(ITEM_KELPSY_BERRY), BERRY_STAGE_BERRIES + setberrytree 55, ITEM_TO_BERRY(ITEM_BLUK_BERRY), BERRY_STAGE_BERRIES + setberrytree 56, ITEM_TO_BERRY(ITEM_BLUK_BERRY), BERRY_STAGE_BERRIES + setberrytree 5, ITEM_TO_BERRY(ITEM_CHERI_BERRY), BERRY_STAGE_BERRIES + setberrytree 6, ITEM_TO_BERRY(ITEM_LEPPA_BERRY), BERRY_STAGE_BERRIES + setberrytree 7, ITEM_TO_BERRY(ITEM_CHERI_BERRY), BERRY_STAGE_BERRIES + setberrytree 16, ITEM_TO_BERRY(ITEM_NANAB_BERRY), BERRY_STAGE_BERRIES + setberrytree 17, ITEM_TO_BERRY(ITEM_NANAB_BERRY), BERRY_STAGE_BERRIES + setberrytree 18, ITEM_TO_BERRY(ITEM_NANAB_BERRY), BERRY_STAGE_BERRIES + setberrytree 29, ITEM_TO_BERRY(ITEM_WEPEAR_BERRY), BERRY_STAGE_BERRIES + setberrytree 28, ITEM_TO_BERRY(ITEM_WEPEAR_BERRY), BERRY_STAGE_BERRIES + setberrytree 27, ITEM_TO_BERRY(ITEM_WEPEAR_BERRY), BERRY_STAGE_BERRIES + setberrytree 24, ITEM_TO_BERRY(ITEM_RAWST_BERRY), BERRY_STAGE_BERRIES + setberrytree 23, ITEM_TO_BERRY(ITEM_PECHA_BERRY), BERRY_STAGE_BERRIES + setberrytree 22, ITEM_TO_BERRY(ITEM_PECHA_BERRY), BERRY_STAGE_BERRIES + setberrytree 21, ITEM_TO_BERRY(ITEM_RAWST_BERRY), BERRY_STAGE_BERRIES + setberrytree 19, ITEM_TO_BERRY(ITEM_RAZZ_BERRY), BERRY_STAGE_BERRIES + setberrytree 20, ITEM_TO_BERRY(ITEM_RAZZ_BERRY), BERRY_STAGE_BERRIES + setberrytree 80, ITEM_TO_BERRY(ITEM_ORAN_BERRY), BERRY_STAGE_BERRIES + setberrytree 81, ITEM_TO_BERRY(ITEM_ORAN_BERRY), BERRY_STAGE_BERRIES + setberrytree 77, ITEM_TO_BERRY(ITEM_PERSIM_BERRY), BERRY_STAGE_BERRIES + setberrytree 78, ITEM_TO_BERRY(ITEM_PERSIM_BERRY), BERRY_STAGE_BERRIES + setberrytree 68, ITEM_TO_BERRY(ITEM_PERSIM_BERRY), BERRY_STAGE_BERRIES + setberrytree 31, ITEM_TO_BERRY(ITEM_SITRUS_BERRY), BERRY_STAGE_BERRIES + setberrytree 33, ITEM_TO_BERRY(ITEM_SITRUS_BERRY), BERRY_STAGE_BERRIES + setberrytree 34, ITEM_TO_BERRY(ITEM_POMEG_BERRY), BERRY_STAGE_BERRIES + setberrytree 35, ITEM_TO_BERRY(ITEM_POMEG_BERRY), BERRY_STAGE_BERRIES + setberrytree 36, ITEM_TO_BERRY(ITEM_POMEG_BERRY), BERRY_STAGE_BERRIES + setberrytree 83, ITEM_TO_BERRY(ITEM_HONDEW_BERRY), BERRY_STAGE_BERRIES + setberrytree 84, ITEM_TO_BERRY(ITEM_HONDEW_BERRY), BERRY_STAGE_BERRIES + setberrytree 85, ITEM_TO_BERRY(ITEM_SITRUS_BERRY), BERRY_STAGE_BERRIES + setberrytree 86, ITEM_TO_BERRY(ITEM_LEPPA_BERRY), BERRY_STAGE_BERRIES + setberrytree 37, ITEM_TO_BERRY(ITEM_ASPEAR_BERRY), BERRY_STAGE_BERRIES + setberrytree 38, ITEM_TO_BERRY(ITEM_ASPEAR_BERRY), BERRY_STAGE_BERRIES + setberrytree 39, ITEM_TO_BERRY(ITEM_ASPEAR_BERRY), BERRY_STAGE_BERRIES + setberrytree 40, ITEM_TO_BERRY(ITEM_PECHA_BERRY), BERRY_STAGE_BERRIES + setberrytree 41, ITEM_TO_BERRY(ITEM_PECHA_BERRY), BERRY_STAGE_BERRIES + setberrytree 42, ITEM_TO_BERRY(ITEM_PECHA_BERRY), BERRY_STAGE_BERRIES + setberrytree 46, ITEM_TO_BERRY(ITEM_WEPEAR_BERRY), BERRY_STAGE_BERRIES + setberrytree 45, ITEM_TO_BERRY(ITEM_PINAP_BERRY), BERRY_STAGE_BERRIES + setberrytree 44, ITEM_TO_BERRY(ITEM_NANAB_BERRY), BERRY_STAGE_BERRIES + setberrytree 43, ITEM_TO_BERRY(ITEM_RAZZ_BERRY), BERRY_STAGE_BERRIES + setberrytree 47, ITEM_TO_BERRY(ITEM_PERSIM_BERRY), BERRY_STAGE_BERRIES + setberrytree 48, ITEM_TO_BERRY(ITEM_ASPEAR_BERRY), BERRY_STAGE_BERRIES + setberrytree 49, ITEM_TO_BERRY(ITEM_RAWST_BERRY), BERRY_STAGE_BERRIES + setberrytree 50, ITEM_TO_BERRY(ITEM_CHESTO_BERRY), BERRY_STAGE_BERRIES + setberrytree 52, ITEM_TO_BERRY(ITEM_NANAB_BERRY), BERRY_STAGE_BERRIES + setberrytree 53, ITEM_TO_BERRY(ITEM_NANAB_BERRY), BERRY_STAGE_BERRIES + setberrytree 62, ITEM_TO_BERRY(ITEM_LEPPA_BERRY), BERRY_STAGE_BERRIES + setberrytree 64, ITEM_TO_BERRY(ITEM_LEPPA_BERRY), BERRY_STAGE_BERRIES + setberrytree 58, ITEM_TO_BERRY(ITEM_POMEG_BERRY), BERRY_STAGE_BERRIES + setberrytree 59, ITEM_TO_BERRY(ITEM_POMEG_BERRY), BERRY_STAGE_BERRIES + setberrytree 60, ITEM_TO_BERRY(ITEM_GREPA_BERRY), BERRY_STAGE_BERRIES + setberrytree 61, ITEM_TO_BERRY(ITEM_GREPA_BERRY), BERRY_STAGE_BERRIES + setberrytree 79, ITEM_TO_BERRY(ITEM_QUALOT_BERRY), BERRY_STAGE_BERRIES + setberrytree 14, ITEM_TO_BERRY(ITEM_QUALOT_BERRY), BERRY_STAGE_BERRIES + setberrytree 15, ITEM_TO_BERRY(ITEM_POMEG_BERRY), BERRY_STAGE_BERRIES + setberrytree 30, ITEM_TO_BERRY(ITEM_POMEG_BERRY), BERRY_STAGE_BERRIES + setberrytree 65, ITEM_TO_BERRY(ITEM_GREPA_BERRY), BERRY_STAGE_BERRIES + setberrytree 72, ITEM_TO_BERRY(ITEM_GREPA_BERRY), BERRY_STAGE_BERRIES + setberrytree 73, ITEM_TO_BERRY(ITEM_QUALOT_BERRY), BERRY_STAGE_BERRIES + setberrytree 74, ITEM_TO_BERRY(ITEM_QUALOT_BERRY), BERRY_STAGE_BERRIES + setberrytree 87, ITEM_TO_BERRY(ITEM_PECHA_BERRY), BERRY_STAGE_BERRIES + setberrytree 88, ITEM_TO_BERRY(ITEM_SITRUS_BERRY), BERRY_STAGE_BERRIES + setberrytree 89, ITEM_TO_BERRY(ITEM_RAWST_BERRY), BERRY_STAGE_BERRIES + setberrytree 82, ITEM_TO_BERRY(ITEM_LIECHI_BERRY), BERRY_STAGE_BERRIES return EventScript_ResetAllMapFlags:: @ 82715DE @@ -3241,139 +3242,139 @@ gContestPaintingTough3:: .string "The mighty tough\n" .string "hyper POKéMON {STR_VAR_1}$" -gUnknown_0827ECBC:: @ 27ECBC +gTrickHouse_Mechadoll_Oddish:: @ 27ECBC .string "ODDISH$" -gUnknown_0827ECC3:: @ 27ECC3 +gTrickHouse_Mechadoll_Poochyena:: @ 27ECC3 .string "POOCHYENA$" -gUnknown_0827ECCD:: @ 27ECCD +gTrickHouse_Mechadoll_Taillow:: @ 27ECCD .string "TAILLOW$" -gUnknown_0827ECD5:: @ 27ECD5 +gTrickHouse_Mechadoll_Azurill:: @ 27ECD5 .string "AZURILL$" -gUnknown_0827ECDD:: @ 27ECDD +gTrickHouse_Mechadoll_Lotad:: @ 27ECDD .string "LOTAD$" -gUnknown_0827ECE3:: @ 27ECE3 +gTrickHouse_Mechadoll_Wingull:: @ 27ECE3 .string "WINGULL$" -gUnknown_0827ECEB:: @ 27ECEB +gTrickHouse_Mechadoll_Dustox:: @ 27ECEB .string "DUSTOX$" -gUnknown_0827ECF2:: @ 27ECF2 +gTrickHouse_Mechadoll_Zubat:: @ 27ECF2 .string "ZUBAT$" -gUnknown_0827ECF8:: @ 27ECF8 +gTrickHouse_Mechadoll_Nincada:: @ 27ECF8 .string "NINCADA$" -gUnknown_0827ED00:: @ 27ED00 +gTrickHouse_Mechadoll_Ralts:: @ 27ED00 .string "RALTS$" -gUnknown_0827ED06:: @ 27ED06 +gTrickHouse_Mechadoll_Zigzagoon:: @ 27ED06 .string "ZIGZAGOON$" -gUnknown_0827ED10:: @ 27ED10 +gTrickHouse_Mechadoll_Slakoth:: @ 27ED10 .string "SLAKOTH$" -gUnknown_0827ED18:: @ 27ED18 +gTrickHouse_Mechadoll_Poochyena2:: @ 27ED18 .string "POOCHYENA$" -gUnknown_0827ED22:: @ 27ED22 +gTrickHouse_Mechadoll_Shroomish:: @ 27ED22 .string "SHROOMISH$" -gUnknown_0827ED2C:: @ 27ED2C +gTrickHouse_Mechadoll_Zigzagoon2:: @ 27ED2C .string "ZIGZAGOON$" -gUnknown_0827ED36:: @ 27ED36 +gTrickHouse_Mechadoll_Poochyena3:: @ 27ED36 .string "POOCHYENA$" -gUnknown_0827ED40:: @ 27ED40 +gTrickHouse_Mechadoll_Zubat2:: @ 27ED40 .string "ZUBAT$" -gUnknown_0827ED46:: @ 27ED46 +gTrickHouse_Mechadoll_Carvanha:: @ 27ED46 .string "CARVANHA$" -gUnknown_0827ED4F:: @ 27ED4F +gTrickHouse_Mechadoll_BurnHeal:: @ 27ED4F .string "BURN HEAL$" -gUnknown_0827ED59:: @ 27ED59 +gTrickHouse_Mechadoll_HarborMail:: @ 27ED59 .string "HARBOR MAIL$" -gUnknown_0827ED65:: @ 27ED65 +gTrickHouse_Mechadoll_SamePrice:: @ 27ED65 .string "Same price$" -gUnknown_0827ED70:: @ 27ED70 +gTrickHouse_Mechadoll_60Yen:: @ 27ED70 .string "¥60$" -gUnknown_0827ED74:: @ 27ED74 +gTrickHouse_Mechadoll_55Yen:: @ 27ED74 .string "¥55$" -gUnknown_0827ED78:: @ 27ED78 +gTrickHouse_Mechadoll_Nothing:: @ 27ED78 .string "Nothing$" -gUnknown_0827ED80:: @ 27ED80 +gTrickHouse_Mechadoll_CostMore:: @ 27ED80 .string "They will cost more.$" -gUnknown_0827ED95:: @ 27ED95 +gTrickHouse_Mechadoll_CostLess:: @ 27ED95 .string "They will cost less.$" -gUnknown_0827EDAA:: @ 27EDAA +gTrickHouse_Mechadoll_SamePrice2:: @ 27EDAA .string "Same price$" -gUnknown_0827EDB5:: @ 27EDB5 +gTrickHouse_Mechadoll_Male:: @ 27EDB5 .string "Male$" -gUnknown_0827EDBA:: @ 27EDBA +gTrickHouse_Mechadoll_Female:: @ 27EDBA .string "Female$" -gUnknown_0827EDC1:: @ 27EDC1 +gTrickHouse_Mechadoll_Neither:: @ 27EDC1 .string "Neither$" -gUnknown_0827EDC9:: @ 27EDC9 +gTrickHouse_Mechadoll_ElderlyMen:: @ 27EDC9 .string "Elderly men$" -gUnknown_0827EDD5:: @ 27EDD5 +gTrickHouse_Mechadoll_ElderlyLadies:: @ 27EDD5 .string "Elderly ladies$" -gUnknown_0827EDE4:: @ 27EDE4 +gTrickHouse_Mechadoll_SameNumber:: @ 27EDE4 .string "Same number$" -gUnknown_0827EDF0:: @ 27EDF0 +gTrickHouse_Mechadoll_None:: @ 27EDF0 .string "None$" -gUnknown_0827EDF5:: @ 27EDF5 +gTrickHouse_Mechadoll_One:: @ 27EDF5 .string "1$" -gUnknown_0827EDF7:: @ 27EDF7 +gTrickHouse_Mechadoll_Two:: @ 27EDF7 .string "2$" -gUnknown_0827EDF9:: @ 27EDF9 +gTrickHouse_Mechadoll_Two2:: @ 27EDF9 .string "2$" -gUnknown_0827EDFB:: @ 27EDFB +gTrickHouse_Mechadoll_Three:: @ 27EDFB .string "3$" -gUnknown_0827EDFD:: @ 27EDFD +gTrickHouse_Mechadoll_Four:: @ 27EDFD .string "4$" -gUnknown_0827EDFF:: @ 27EDFF +gTrickHouse_Mechadoll_Six:: @ 27EDFF .string "6$" -gUnknown_0827EE01:: @ 27EE01 +gTrickHouse_Mechadoll_Seven:: @ 27EE01 .string "7$" -gUnknown_0827EE03:: @ 27EE03 +gTrickHouse_Mechadoll_Eight:: @ 27EE03 .string "8$" -gUnknown_0827EE05:: @ 27EE05 +gTrickHouse_Mechadoll_Six2:: @ 27EE05 .string "6$" -gUnknown_0827EE07:: @ 27EE07 +gTrickHouse_Mechadoll_Seven2:: @ 27EE07 .string "7$" -gUnknown_0827EE09:: @ 27EE09 +gTrickHouse_Mechadoll_Eight2:: @ 27EE09 .string "8$" .include "data/scripts/tv.inc" @@ -4338,17 +4339,17 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3EE8:: @ 82C3EE8 goto_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3F3F hideobjectat 2, MAP_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM1 setvar VAR_TEMP_4, 1 - turnobject 255, 2 + turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH end BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3F35:: @ 82C3F35 setvar VAR_TEMP_4, 1 - turnobject 255, 2 + turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH end BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3F3F:: @ 82C3F3F setvar VAR_TEMP_4, 1 - turnobject 255, 2 + turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH hideobjectat 1, MAP_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM1 end diff --git a/data/maps/BattleFrontier_BattleArenaLobby/scripts.inc b/data/maps/BattleFrontier_BattleArenaLobby/scripts.inc index 5df47aed1..85b3ba78e 100644 --- a/data/maps/BattleFrontier_BattleArenaLobby/scripts.inc +++ b/data/maps/BattleFrontier_BattleArenaLobby/scripts.inc @@ -9,7 +9,7 @@ BattleFrontier_BattleArenaLobby_MapScript2_255C41: @ 8255C41 BattleFrontier_BattleArenaLobby_EventScript_255C4B:: @ 8255C4B setvar VAR_TEMP_1, 1 - turnobject EVENT_OBJ_ID_PLAYER, 2 + turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH end BattleFrontier_BattleArenaLobby_MapScript2_255C55: @ 8255C55 diff --git a/data/maps/BattleFrontier_BattleDomeBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleDomeBattleRoom/scripts.inc index 59a010691..a44b51ef5 100644 --- a/data/maps/BattleFrontier_BattleDomeBattleRoom/scripts.inc +++ b/data/maps/BattleFrontier_BattleDomeBattleRoom/scripts.inc @@ -880,71 +880,71 @@ BattleFrontier_BattleDomeBattleRoom_Movement_24C82B: @ 824C82B step_end BattleFrontier_BattleDomeBattleRoom_EventScript_24C82E:: @ 824C82E - turnvobject 0, 4 - turnvobject 2, 4 - turnvobject 4, 4 - turnvobject 6, 4 - turnvobject 8, 4 - turnvobject 10, 3 - turnvobject 12, 3 - turnvobject 14, 3 - turnvobject 16, 3 - turnvobject 18, 3 - turnvobject 20, 4 - turnvobject 22, 4 - turnvobject 24, 4 - turnvobject 26, 4 - turnvobject 28, 4 - turnvobject 30, 4 + turnvobject 0, DIR_EAST + turnvobject 2, DIR_EAST + turnvobject 4, DIR_EAST + turnvobject 6, DIR_EAST + turnvobject 8, DIR_EAST + turnvobject 10, DIR_WEST + turnvobject 12, DIR_WEST + turnvobject 14, DIR_WEST + turnvobject 16, DIR_WEST + turnvobject 18, DIR_WEST + turnvobject 20, DIR_EAST + turnvobject 22, DIR_EAST + turnvobject 24, DIR_EAST + turnvobject 26, DIR_EAST + turnvobject 28, DIR_EAST + turnvobject 30, DIR_EAST delay 20 - turnvobject 0, 1 - turnvobject 2, 1 - turnvobject 4, 1 - turnvobject 6, 1 - turnvobject 8, 1 - turnvobject 10, 1 - turnvobject 12, 1 - turnvobject 14, 1 - turnvobject 16, 1 - turnvobject 18, 1 - turnvobject 20, 1 - turnvobject 22, 1 - turnvobject 24, 1 - turnvobject 26, 1 - turnvobject 28, 1 - turnvobject 30, 1 + turnvobject 0, DIR_SOUTH + turnvobject 2, DIR_SOUTH + turnvobject 4, DIR_SOUTH + turnvobject 6, DIR_SOUTH + turnvobject 8, DIR_SOUTH + turnvobject 10, DIR_SOUTH + turnvobject 12, DIR_SOUTH + turnvobject 14, DIR_SOUTH + turnvobject 16, DIR_SOUTH + turnvobject 18, DIR_SOUTH + turnvobject 20, DIR_SOUTH + turnvobject 22, DIR_SOUTH + turnvobject 24, DIR_SOUTH + turnvobject 26, DIR_SOUTH + turnvobject 28, DIR_SOUTH + turnvobject 30, DIR_SOUTH delay 20 - turnvobject 1, 4 - turnvobject 3, 4 - turnvobject 5, 4 - turnvobject 7, 4 - turnvobject 9, 4 - turnvobject 11, 3 - turnvobject 13, 3 - turnvobject 15, 3 - turnvobject 17, 3 - turnvobject 19, 3 - turnvobject 21, 4 - turnvobject 23, 4 - turnvobject 25, 4 - turnvobject 27, 3 - turnvobject 31, 3 + turnvobject 1, DIR_EAST + turnvobject 3, DIR_EAST + turnvobject 5, DIR_EAST + turnvobject 7, DIR_EAST + turnvobject 9, DIR_EAST + turnvobject 11, DIR_WEST + turnvobject 13, DIR_WEST + turnvobject 15, DIR_WEST + turnvobject 17, DIR_WEST + turnvobject 19, DIR_WEST + turnvobject 21, DIR_EAST + turnvobject 23, DIR_EAST + turnvobject 25, DIR_EAST + turnvobject 27, DIR_WEST + turnvobject 31, DIR_WEST delay 20 - turnvobject 1, 1 - turnvobject 3, 1 - turnvobject 5, 1 - turnvobject 7, 1 - turnvobject 9, 1 - turnvobject 11, 1 - turnvobject 13, 1 - turnvobject 15, 1 - turnvobject 17, 1 - turnvobject 19, 1 - turnvobject 21, 1 - turnvobject 23, 1 - turnvobject 25, 1 - turnvobject 27, 1 - turnvobject 31, 1 + turnvobject 1, DIR_SOUTH + turnvobject 3, DIR_SOUTH + turnvobject 5, DIR_SOUTH + turnvobject 7, DIR_SOUTH + turnvobject 9, DIR_SOUTH + turnvobject 11, DIR_SOUTH + turnvobject 13, DIR_SOUTH + turnvobject 15, DIR_SOUTH + turnvobject 17, DIR_SOUTH + turnvobject 19, DIR_SOUTH + turnvobject 21, DIR_SOUTH + turnvobject 23, DIR_SOUTH + turnvobject 25, DIR_SOUTH + turnvobject 27, DIR_SOUTH + turnvobject 31, DIR_SOUTH delay 20 return diff --git a/data/maps/BattleFrontier_BattleDomeLobby/scripts.inc b/data/maps/BattleFrontier_BattleDomeLobby/scripts.inc index 68ecf802b..f4e796bba 100644 --- a/data/maps/BattleFrontier_BattleDomeLobby/scripts.inc +++ b/data/maps/BattleFrontier_BattleDomeLobby/scripts.inc @@ -16,7 +16,7 @@ BattleFrontier_BattlePyramidLobby_MapScript2_2497FB: @ 82497FB BattleFrontier_BattleDomeLobby_EventScript_249805:: @ 8249805 setvar VAR_TEMP_1, 1 - turnobject EVENT_OBJ_ID_PLAYER, 2 + turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH end BattleFrontier_BattleDomeLobby_MapScript2_24980F: @ 824980F diff --git a/data/maps/BattleFrontier_BattleDomePreBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleDomePreBattleRoom/scripts.inc index 3901201bb..df43e92a3 100644 --- a/data/maps/BattleFrontier_BattleDomePreBattleRoom/scripts.inc +++ b/data/maps/BattleFrontier_BattleDomePreBattleRoom/scripts.inc @@ -9,7 +9,7 @@ BattleFrontier_BattleDomePreBattleRoom_MapScript2_24B204: @ 824B204 BattleFrontier_BattleDomePreBattleRoom_EventScript_24B20E:: @ 824B20E setvar VAR_TEMP_1, 1 - turnobject EVENT_OBJ_ID_PLAYER, 2 + turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH end BattleFrontier_BattleDomePreBattleRoom_MapScript2_24B218: @ 824B218 diff --git a/data/maps/BattleFrontier_BattleFactoryLobby/scripts.inc b/data/maps/BattleFrontier_BattleFactoryLobby/scripts.inc index a9e57dde6..4bea7068f 100644 --- a/data/maps/BattleFrontier_BattleFactoryLobby/scripts.inc +++ b/data/maps/BattleFrontier_BattleFactoryLobby/scripts.inc @@ -9,7 +9,7 @@ BattleFrontier_BattleFactoryLobby_MapScript2_2583F3: @ 82583F3 BattleFrontier_BattleFactoryLobby_EventScript_2583FD:: @ 82583FD setvar VAR_TEMP_1, 1 - turnobject EVENT_OBJ_ID_PLAYER, 2 + turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH end BattleFrontier_BattleFactoryLobby_MapScript2_258407: @ 8258407 diff --git a/data/maps/BattleFrontier_BattleFactoryPreBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleFactoryPreBattleRoom/scripts.inc index 0049b3f58..2fd3ee66d 100644 --- a/data/maps/BattleFrontier_BattleFactoryPreBattleRoom/scripts.inc +++ b/data/maps/BattleFrontier_BattleFactoryPreBattleRoom/scripts.inc @@ -12,10 +12,10 @@ BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259ACF:: @ 8259ACF compare VAR_0x8006, 1 goto_if_ne BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259AEA setobjectxy 1, 8, 7 - turnobject 1, 1 + turnobject 1, DIR_SOUTH BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259AEA:: @ 8259AEA - turnobject EVENT_OBJ_ID_PLAYER, 2 + turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH end BattleFrontier_BattleFactoryPreBattleRoom_MapScript2_259AEF: @ 8259AEF diff --git a/data/maps/BattleFrontier_BattlePalaceLobby/scripts.inc b/data/maps/BattleFrontier_BattlePalaceLobby/scripts.inc index 40205e9b5..be6d6c7d5 100644 --- a/data/maps/BattleFrontier_BattlePalaceLobby/scripts.inc +++ b/data/maps/BattleFrontier_BattlePalaceLobby/scripts.inc @@ -9,7 +9,7 @@ BattleFrontier_BattlePalaceLobby_MapScript2_24D789: @ 824D789 BattleFrontier_BattlePalaceLobby_EventScript_24D793:: @ 824D793 setvar VAR_TEMP_1, 1 - turnobject EVENT_OBJ_ID_PLAYER, 2 + turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH end BattleFrontier_BattlePalaceLobby_MapScript2_24D79D: @ 824D79D diff --git a/data/maps/BattleFrontier_BattlePikeCorridor/scripts.inc b/data/maps/BattleFrontier_BattlePikeCorridor/scripts.inc index c7421c2c8..20e14b72b 100644 --- a/data/maps/BattleFrontier_BattlePikeCorridor/scripts.inc +++ b/data/maps/BattleFrontier_BattlePikeCorridor/scripts.inc @@ -42,7 +42,7 @@ BattleFrontier_BattlePikeCorridor_MapScript2_25C7F7: @ 825C7F7 BattleFrontier_BattlePikeCorridor_EventScript_25C801:: @ 825C801 setvar VAR_TEMP_1, 1 - turnobject EVENT_OBJ_ID_PLAYER, 2 + turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH end BattleFrontier_BattlePikeCorridor_Movement_25C80B: @ 825C80B diff --git a/data/maps/BattleFrontier_BattlePikeLobby/scripts.inc b/data/maps/BattleFrontier_BattlePikeLobby/scripts.inc index 51d6023c8..7a9f6e50c 100644 --- a/data/maps/BattleFrontier_BattlePikeLobby/scripts.inc +++ b/data/maps/BattleFrontier_BattlePikeLobby/scripts.inc @@ -16,7 +16,7 @@ BattleFrontier_BattlePikeLobby_MapScript2_25B6F3: @ 825B6F3 BattleFrontier_BattlePikeLobby_EventScript_25B6FD:: @ 825B6FD setvar VAR_TEMP_1, 1 - turnobject EVENT_OBJ_ID_PLAYER, 2 + turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH end BattleFrontier_BattlePikeLobby_EventScript_25B707:: @ 825B707 diff --git a/data/maps/BattleFrontier_BattlePikeRandomRoom2/scripts.inc b/data/maps/BattleFrontier_BattlePikeRandomRoom2/scripts.inc index 5d438d8bd..b12ff0d6e 100644 --- a/data/maps/BattleFrontier_BattlePikeRandomRoom2/scripts.inc +++ b/data/maps/BattleFrontier_BattlePikeRandomRoom2/scripts.inc @@ -34,7 +34,7 @@ BattleFrontier_BattlePikeRandomRoom2_MapScript2_25E3DE: @ 825E3DE BattleFrontier_BattlePikeRandomRoom2_EventScript_25E3E8:: @ 825E3E8 setvar VAR_TEMP_4, 1 - turnobject EVENT_OBJ_ID_PLAYER, 2 + turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH end BattleFrontier_BattlePikeRandomRoom2_Text_25E3F2: @ 825E3F2 diff --git a/data/maps/BattleFrontier_BattlePikeRandomRoom3/scripts.inc b/data/maps/BattleFrontier_BattlePikeRandomRoom3/scripts.inc index 9f2dfec16..9a4448226 100644 --- a/data/maps/BattleFrontier_BattlePikeRandomRoom3/scripts.inc +++ b/data/maps/BattleFrontier_BattlePikeRandomRoom3/scripts.inc @@ -30,7 +30,7 @@ BattleFrontier_BattlePikeRandomRoom3_MapScript2_25E466: @ 825E466 BattleFrontier_BattlePikeRandomRoom3_EventScript_25E470:: @ 825E470 setvar VAR_TEMP_4, 1 - turnobject EVENT_OBJ_ID_PLAYER, 2 + turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH end BattleFrontier_BattlePikeRandomRoom3_MapScript1_25E47A: @ 825E47A diff --git a/data/maps/BattleFrontier_BattlePikeThreePathRoom/scripts.inc b/data/maps/BattleFrontier_BattlePikeThreePathRoom/scripts.inc index 54f11f071..5429ea605 100644 --- a/data/maps/BattleFrontier_BattlePikeThreePathRoom/scripts.inc +++ b/data/maps/BattleFrontier_BattlePikeThreePathRoom/scripts.inc @@ -18,7 +18,7 @@ BattleFrontier_BattlePikeThreePathRoom_MapScript2_25C87D: @ 825C87D BattleFrontier_BattlePikeThreePathRoom_EventScript_25C887:: @ 825C887 setvar VAR_TEMP_4, 1 - turnobject EVENT_OBJ_ID_PLAYER, 2 + turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH end BattleFrontier_BattlePikeThreePathRoom_EventScript_25C891:: @ 825C891 diff --git a/data/maps/BattleFrontier_BattlePointExchangeServiceCorner/scripts.inc b/data/maps/BattleFrontier_BattlePointExchangeServiceCorner/scripts.inc index 4fa8d142a..3ebb57ff9 100644 --- a/data/maps/BattleFrontier_BattlePointExchangeServiceCorner/scripts.inc +++ b/data/maps/BattleFrontier_BattlePointExchangeServiceCorner/scripts.inc @@ -110,7 +110,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F21E:: @ 825F21E compare VAR_RESULT, 0 goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185 setvar VAR_0x8008, 16 - setvar VAR_0x8009, 75 + setvar VAR_0x8009, DECOR_KISS_POSTER goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A end @@ -119,7 +119,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F241:: @ 825F241 compare VAR_RESULT, 0 goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185 setvar VAR_0x8008, 32 - setvar VAR_0x8009, 103 + setvar VAR_0x8009, DECOR_KISS_CUSHION goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A end @@ -128,7 +128,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F264:: @ 825F264 compare VAR_RESULT, 0 goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185 setvar VAR_0x8008, 32 - setvar VAR_0x8009, 87 + setvar VAR_0x8009, DECOR_SMOOCHUM_DOLL goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A end @@ -137,7 +137,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F287:: @ 825F287 compare VAR_RESULT, 0 goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185 setvar VAR_0x8008, 48 - setvar VAR_0x8009, 79 + setvar VAR_0x8009, DECOR_TOGEPI_DOLL goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A end @@ -146,7 +146,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F2AA:: @ 825F2AA compare VAR_RESULT, 0 goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185 setvar VAR_0x8008, 48 - setvar VAR_0x8009, 84 + setvar VAR_0x8009, DECOR_MEOWTH_DOLL goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A end @@ -155,7 +155,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F2CD:: @ 825F2CD compare VAR_RESULT, 0 goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185 setvar VAR_0x8008, 48 - setvar VAR_0x8009, 85 + setvar VAR_0x8009, DECOR_CLEFAIRY_DOLL goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A end @@ -164,7 +164,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F2F0:: @ 825F2F0 compare VAR_RESULT, 0 goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185 setvar VAR_0x8008, 48 - setvar VAR_0x8009, 86 + setvar VAR_0x8009, DECOR_DITTO_DOLL goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A end @@ -173,7 +173,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F313:: @ 825F313 compare VAR_RESULT, 0 goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185 setvar VAR_0x8008, 80 - setvar VAR_0x8009, 80 + setvar VAR_0x8009, DECOR_CYNDAQUIL_DOLL goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A end @@ -182,7 +182,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F336:: @ 825F336 compare VAR_RESULT, 0 goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185 setvar VAR_0x8008, 80 - setvar VAR_0x8009, 81 + setvar VAR_0x8009, DECOR_CHIKORITA_DOLL goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A end @@ -191,7 +191,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F359:: @ 825F359 compare VAR_RESULT, 0 goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185 setvar VAR_0x8008, 80 - setvar VAR_0x8009, 82 + setvar VAR_0x8009, DECOR_TOTODILE_DOLL goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A end @@ -224,7 +224,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F3F0:: @ 825F3F0 compare VAR_RESULT, 0 goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E setvar VAR_0x8008, 128 - setvar VAR_0x8009, 113 + setvar VAR_0x8009, DECOR_LAPRAS_DOLL goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A end @@ -233,7 +233,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F413:: @ 825F413 compare VAR_RESULT, 0 goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E setvar VAR_0x8008, 128 - setvar VAR_0x8009, 111 + setvar VAR_0x8009, DECOR_SNORLAX_DOLL goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A end @@ -242,7 +242,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F436:: @ 825F436 compare VAR_RESULT, 0 goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E setvar VAR_0x8008, 256 - setvar VAR_0x8009, 114 + setvar VAR_0x8009, DECOR_VENUSAUR_DOLL goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A end @@ -251,7 +251,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F459:: @ 825F459 compare VAR_RESULT, 0 goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E setvar VAR_0x8008, 256 - setvar VAR_0x8009, 115 + setvar VAR_0x8009, DECOR_CHARIZARD_DOLL goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A end @@ -260,7 +260,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F47C:: @ 825F47C compare VAR_RESULT, 0 goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E setvar VAR_0x8008, 256 - setvar VAR_0x8009, 116 + setvar VAR_0x8009, DECOR_BLASTOISE_DOLL goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A end @@ -294,7 +294,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F51E:: @ 825F51E compare VAR_RESULT, 0 goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1 setvar VAR_0x8008, 1 - setvar VAR_0x8009, 64 + setvar VAR_0x8009, ITEM_PROTEIN goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A end @@ -303,7 +303,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F541:: @ 825F541 compare VAR_RESULT, 0 goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1 setvar VAR_0x8008, 1 - setvar VAR_0x8009, 67 + setvar VAR_0x8009, ITEM_CALCIUM goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A end @@ -312,7 +312,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F564:: @ 825F564 compare VAR_RESULT, 0 goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1 setvar VAR_0x8008, 1 - setvar VAR_0x8009, 65 + setvar VAR_0x8009, ITEM_IRON goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A end @@ -321,7 +321,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F587:: @ 825F587 compare VAR_RESULT, 0 goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1 setvar VAR_0x8008, 1 - setvar VAR_0x8009, 70 + setvar VAR_0x8009, ITEM_ZINC goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A end @@ -330,7 +330,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F5AA:: @ 825F5AA compare VAR_RESULT, 0 goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1 setvar VAR_0x8008, 1 - setvar VAR_0x8009, 66 + setvar VAR_0x8009, ITEM_CARBOS goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A end @@ -339,7 +339,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F5CD:: @ 825F5CD compare VAR_RESULT, 0 goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1 setvar VAR_0x8008, 1 - setvar VAR_0x8009, 63 + setvar VAR_0x8009, ITEM_HP_UP goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A end @@ -376,7 +376,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F690:: @ 825F690 compare VAR_RESULT, 0 goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602 setvar VAR_0x8008, 48 - setvar VAR_0x8009, 200 + setvar VAR_0x8009, ITEM_LEFTOVERS goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A end @@ -385,7 +385,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F6B3:: @ 825F6B3 compare VAR_RESULT, 0 goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602 setvar VAR_0x8008, 48 - setvar VAR_0x8009, 180 + setvar VAR_0x8009, ITEM_WHITE_HERB goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A end @@ -394,7 +394,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F6D6:: @ 825F6D6 compare VAR_RESULT, 0 goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602 setvar VAR_0x8008, 48 - setvar VAR_0x8009, 183 + setvar VAR_0x8009, ITEM_QUICK_CLAW goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A end @@ -403,7 +403,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F6F9:: @ 825F6F9 compare VAR_RESULT, 0 goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602 setvar VAR_0x8008, 48 - setvar VAR_0x8009, 185 + setvar VAR_0x8009, ITEM_MENTAL_HERB goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A end @@ -412,7 +412,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F71C:: @ 825F71C compare VAR_RESULT, 0 goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602 setvar VAR_0x8008, 64 - setvar VAR_0x8009, 179 + setvar VAR_0x8009, ITEM_BRIGHT_POWDER goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A end @@ -421,7 +421,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F73F:: @ 825F73F compare VAR_RESULT, 0 goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602 setvar VAR_0x8008, 64 - setvar VAR_0x8009, 186 + setvar VAR_0x8009, ITEM_CHOICE_BAND goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A end @@ -430,7 +430,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F762:: @ 825F762 compare VAR_RESULT, 0 goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602 setvar VAR_0x8008, 64 - setvar VAR_0x8009, 187 + setvar VAR_0x8009, ITEM_KINGS_ROCK goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A end @@ -439,7 +439,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F785:: @ 825F785 compare VAR_RESULT, 0 goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602 setvar VAR_0x8008, 64 - setvar VAR_0x8009, 196 + setvar VAR_0x8009, ITEM_FOCUS_BAND goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A end @@ -448,7 +448,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F7A8:: @ 825F7A8 compare VAR_RESULT, 0 goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602 setvar VAR_0x8008, 64 - setvar VAR_0x8009, 198 + setvar VAR_0x8009, ITEM_SCOPE_LENS goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A end diff --git a/data/maps/BattleFrontier_BattlePyramidLobby/scripts.inc b/data/maps/BattleFrontier_BattlePyramidLobby/scripts.inc index 667c4847e..003582e1f 100644 --- a/data/maps/BattleFrontier_BattlePyramidLobby/scripts.inc +++ b/data/maps/BattleFrontier_BattlePyramidLobby/scripts.inc @@ -9,7 +9,7 @@ BattleFrontier_BattlePyramidLobby_MapScript2_250721: @ 8250721 BattleFrontier_BattlePyramidLobby_EventScript_25072B: @ 825072B setvar VAR_TEMP_1, 1 - turnobject EVENT_OBJ_ID_PLAYER, 2 + turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH end BattleFrontier_BattlePyramidLobby_MapScript2_250735: @ 8250735 diff --git a/data/maps/BattleFrontier_BattlePyramidTop/scripts.inc b/data/maps/BattleFrontier_BattlePyramidTop/scripts.inc index 39bb39f49..211ab0c87 100644 --- a/data/maps/BattleFrontier_BattlePyramidTop/scripts.inc +++ b/data/maps/BattleFrontier_BattlePyramidTop/scripts.inc @@ -19,7 +19,7 @@ BattleFrontier_BattlePyramidTop_MapScript2_2550CE: @ 82550CE BattleFrontier_BattlePyramidTop_EventScript_2550D8:: @ 82550D8 setvar VAR_TEMP_1, 1 - turnobject EVENT_OBJ_ID_PLAYER, 2 + turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH compare VAR_TEMP_C, 0 goto_if_ne BattleFrontier_BattlePyramidTop_EventScript_2550F3 setobjectxyperm 2, 0, 0 diff --git a/data/maps/BattleFrontier_BattleTowerBattleRoom2/scripts.inc b/data/maps/BattleFrontier_BattleTowerBattleRoom2/scripts.inc index 8ebb7ed25..c2659b407 100644 --- a/data/maps/BattleFrontier_BattleTowerBattleRoom2/scripts.inc +++ b/data/maps/BattleFrontier_BattleTowerBattleRoom2/scripts.inc @@ -15,7 +15,7 @@ BattleFrontier_BattleTowerBattleRoom2_EventScript_248F0F:: @ 8248F0F setvar VAR_0x8004, 14 special sub_8161F74 checkplayergender - compare VAR_RESULT, 1 + compare VAR_RESULT, FEMALE goto_if_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_248F29 setvar VAR_OBJ_GFX_ID_F, EVENT_OBJ_GFX_BRENDAN_NORMAL return diff --git a/data/maps/BattleFrontier_BattleTowerCorridor2/scripts.inc b/data/maps/BattleFrontier_BattleTowerCorridor2/scripts.inc index efab7be70..5b4732ffb 100644 --- a/data/maps/BattleFrontier_BattleTowerCorridor2/scripts.inc +++ b/data/maps/BattleFrontier_BattleTowerCorridor2/scripts.inc @@ -15,7 +15,7 @@ BattleFrontier_BattleTowerCorridor2_EventScript_248D71:: @ 8248D71 setvar VAR_0x8004, 14 special sub_8161F74 checkplayergender - compare VAR_RESULT, 1 + compare VAR_RESULT, FEMALE goto_if_eq BattleFrontier_BattleTowerCorridor2_EventScript_248D8B setvar VAR_OBJ_GFX_ID_F, EVENT_OBJ_GFX_BRENDAN_NORMAL return diff --git a/data/maps/BattleFrontier_BattleTowerElevator/scripts.inc b/data/maps/BattleFrontier_BattleTowerElevator/scripts.inc index 0d07f5be2..0e94d9154 100644 --- a/data/maps/BattleFrontier_BattleTowerElevator/scripts.inc +++ b/data/maps/BattleFrontier_BattleTowerElevator/scripts.inc @@ -85,6 +85,6 @@ BattleFrontier_BattleTowerElevator_MapScript2_241A96: @ 8241A96 BattleFrontier_BattleTowerElevator_EventScript_241AA0:: @ 8241AA0 setvar VAR_TEMP_1, 1 - turnobject EVENT_OBJ_ID_PLAYER, 2 + turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH end diff --git a/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc b/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc index 1a300388a..689c87993 100644 --- a/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc +++ b/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc @@ -35,7 +35,7 @@ BattleFrontier_BattleTowerLobby_MapScript2_23E6C9: @ 823E6C9 BattleFrontier_BattleTowerLobby_EventScript_23E6D3:: @ 823E6D3 setvar VAR_TEMP_1, 1 - turnobject EVENT_OBJ_ID_PLAYER, 2 + turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH end BattleFrontier_BattleTowerLobby_MapScript2_23E6DD: @ 823E6DD diff --git a/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/scripts.inc index f09166f5a..130adde9d 100644 --- a/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/scripts.inc +++ b/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/scripts.inc @@ -43,7 +43,7 @@ BattleFrontier_BattleTowerMultiBattleRoom_MapScript2_243E14: @ 8243E14 .2byte 0 BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E1E:: @ 8243E1E - turnobject EVENT_OBJ_ID_PLAYER, 2 + turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH end BattleFrontier_BattleTowerMultiBattleRoom_MapScript2_243E23: @ 8243E23 diff --git a/data/maps/BattleFrontier_Lounge1/scripts.inc b/data/maps/BattleFrontier_Lounge1/scripts.inc index 28aab432b..581cbd31e 100644 --- a/data/maps/BattleFrontier_Lounge1/scripts.inc +++ b/data/maps/BattleFrontier_Lounge1/scripts.inc @@ -29,7 +29,7 @@ BattleFrontier_Lounge1_EventScript_25E7B6:: @ 825E7B6 BattleFrontier_Lounge1_EventScript_25E7BF:: @ 825E7BF specialvar VAR_RESULT, ScriptGetPartyMonSpecies - compare VAR_RESULT, 412 + compare VAR_RESULT, SPECIES_EGG goto_if_eq BattleFrontier_Lounge1_EventScript_25E7FF special sub_8139D98 compare VAR_0x8005, 90 diff --git a/data/maps/BattleFrontier_Lounge5/scripts.inc b/data/maps/BattleFrontier_Lounge5/scripts.inc index 7a8bd1929..d762612a9 100644 --- a/data/maps/BattleFrontier_Lounge5/scripts.inc +++ b/data/maps/BattleFrontier_Lounge5/scripts.inc @@ -14,7 +14,7 @@ BattleFrontier_Lounge5_EventScript_2645C6:: @ 82645C6 compare VAR_0x8004, 255 goto_if_eq BattleFrontier_Lounge5_EventScript_26460D specialvar VAR_RESULT, ScriptGetPartyMonSpecies - compare VAR_RESULT, 412 + compare VAR_RESULT, SPECIES_EGG goto_if_eq BattleFrontier_Lounge5_EventScript_264603 special sub_813A7B8 waitmessage diff --git a/data/maps/BattleFrontier_ScottsHouse/scripts.inc b/data/maps/BattleFrontier_ScottsHouse/scripts.inc index 52863d474..6ff8fc146 100644 --- a/data/maps/BattleFrontier_ScottsHouse/scripts.inc +++ b/data/maps/BattleFrontier_ScottsHouse/scripts.inc @@ -112,7 +112,7 @@ BattleFrontier_ScottsHouse_EventScript_26381B:: @ 826381B BattleFrontier_ScottsHouse_EventScript_26387A:: @ 826387A msgbox BattleFrontier_ScottsHouse_Text_264412, MSGBOX_DEFAULT - givedecoration_std 42 + givedecoration_std DECOR_SILVER_SHIELD compare VAR_RESULT, 0 goto_if_eq BattleFrontier_ScottsHouse_EventScript_2638A0 setflag FLAG_RECEIVED_SILVER_SHIELD @@ -155,7 +155,7 @@ BattleFrontier_ScottsHouse_EventScript_2638B4:: @ 82638B4 BattleFrontier_ScottsHouse_EventScript_263913:: @ 8263913 msgbox BattleFrontier_ScottsHouse_Text_26449F, MSGBOX_DEFAULT - givedecoration_std 43 + givedecoration_std DECOR_GOLD_SHIELD compare VAR_RESULT, 0 goto_if_eq BattleFrontier_ScottsHouse_EventScript_2638A0 setflag FLAG_RECEIVED_GOLD_SHIELD diff --git a/data/maps/EverGrandeCity_ChampionsRoom/scripts.inc b/data/maps/EverGrandeCity_ChampionsRoom/scripts.inc index 2c3c5001b..99a1a6eb3 100644 --- a/data/maps/EverGrandeCity_ChampionsRoom/scripts.inc +++ b/data/maps/EverGrandeCity_ChampionsRoom/scripts.inc @@ -13,7 +13,7 @@ EverGrandeCity_ChampionsRoom_MapScript2_228A05: @ 8228A05 .2byte 0 EverGrandeCity_ChampionsRoom_EventScript_228A0F:: @ 8228A0F - turnobject EVENT_OBJ_ID_PLAYER, 2 + turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH end EverGrandeCity_ChampionsRoom_MapScript2_228A14: @ 8228A14 diff --git a/data/maps/EverGrandeCity_DrakesRoom/scripts.inc b/data/maps/EverGrandeCity_DrakesRoom/scripts.inc index ed8d82be2..bfc1b6027 100644 --- a/data/maps/EverGrandeCity_DrakesRoom/scripts.inc +++ b/data/maps/EverGrandeCity_DrakesRoom/scripts.inc @@ -9,7 +9,7 @@ EverGrandeCity_DrakesRoom_MapScript2_2286AC: @ 82286AC .2byte 0 EverGrandeCity_DrakesRoom_EventScript_2286B6:: @ 82286B6 - turnobject EVENT_OBJ_ID_PLAYER, 2 + turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH end EverGrandeCity_DrakesRoom_MapScript2_2286BB: @ 82286BB diff --git a/data/maps/EverGrandeCity_GlaciasRoom/scripts.inc b/data/maps/EverGrandeCity_GlaciasRoom/scripts.inc index 24960d95e..00e829930 100644 --- a/data/maps/EverGrandeCity_GlaciasRoom/scripts.inc +++ b/data/maps/EverGrandeCity_GlaciasRoom/scripts.inc @@ -9,7 +9,7 @@ EverGrandeCity_GlaciasRoom_MapScript2_228422: @ 8228422 .2byte 0 EverGrandeCity_GlaciasRoom_EventScript_22842C:: @ 822842C - turnobject EVENT_OBJ_ID_PLAYER, 2 + turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH end EverGrandeCity_GlaciasRoom_MapScript2_228431: @ 8228431 diff --git a/data/maps/EverGrandeCity_Hall1/scripts.inc b/data/maps/EverGrandeCity_Hall1/scripts.inc index d9a7adfe3..c2ffaca47 100644 --- a/data/maps/EverGrandeCity_Hall1/scripts.inc +++ b/data/maps/EverGrandeCity_Hall1/scripts.inc @@ -7,6 +7,6 @@ EverGrandeCity_Hall1_MapScript2_22956F: @ 822956F .2byte 0 EverGrandeCity_Hall1_EventScript_229579:: @ 8229579 - turnobject EVENT_OBJ_ID_PLAYER, 2 + turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH end diff --git a/data/maps/EverGrandeCity_Hall2/scripts.inc b/data/maps/EverGrandeCity_Hall2/scripts.inc index b831d0fd5..be19992ef 100644 --- a/data/maps/EverGrandeCity_Hall2/scripts.inc +++ b/data/maps/EverGrandeCity_Hall2/scripts.inc @@ -7,6 +7,6 @@ EverGrandeCity_Hall2_MapScript2_229584: @ 8229584 .2byte 0 EverGrandeCity_Hall2_EventScript_22958E:: @ 822958E - turnobject EVENT_OBJ_ID_PLAYER, 2 + turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH end diff --git a/data/maps/EverGrandeCity_Hall3/scripts.inc b/data/maps/EverGrandeCity_Hall3/scripts.inc index d75cf95b6..eaf2f4e5a 100644 --- a/data/maps/EverGrandeCity_Hall3/scripts.inc +++ b/data/maps/EverGrandeCity_Hall3/scripts.inc @@ -7,6 +7,6 @@ EverGrandeCity_Hall3_MapScript2_229599: @ 8229599 .2byte 0 EverGrandeCity_Hall3_EventScript_2295A3:: @ 82295A3 - turnobject EVENT_OBJ_ID_PLAYER, 2 + turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH end diff --git a/data/maps/EverGrandeCity_Hall4/scripts.inc b/data/maps/EverGrandeCity_Hall4/scripts.inc index faf20646a..e36890874 100644 --- a/data/maps/EverGrandeCity_Hall4/scripts.inc +++ b/data/maps/EverGrandeCity_Hall4/scripts.inc @@ -7,6 +7,6 @@ EverGrandeCity_Hall4_MapScript2_2295AE: @ 82295AE .2byte 0 EverGrandeCity_Hall4_EventScript_2295B8:: @ 82295B8 - turnobject EVENT_OBJ_ID_PLAYER, 2 + turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH end diff --git a/data/maps/EverGrandeCity_Hall5/scripts.inc b/data/maps/EverGrandeCity_Hall5/scripts.inc index e586958c2..6079bbd42 100644 --- a/data/maps/EverGrandeCity_Hall5/scripts.inc +++ b/data/maps/EverGrandeCity_Hall5/scripts.inc @@ -7,6 +7,6 @@ EverGrandeCity_Hall5_MapScript2_2295C3: @ 82295C3 .2byte 0 EverGrandeCity_Hall5_EventScript_2295CD:: @ 82295CD - turnobject EVENT_OBJ_ID_PLAYER, 2 + turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH end diff --git a/data/maps/EverGrandeCity_HallOfFame/scripts.inc b/data/maps/EverGrandeCity_HallOfFame/scripts.inc index 343614d85..ebfcb3311 100644 --- a/data/maps/EverGrandeCity_HallOfFame/scripts.inc +++ b/data/maps/EverGrandeCity_HallOfFame/scripts.inc @@ -8,7 +8,7 @@ EverGrandeCity_HallOfFame_MapScript2_229837: @ 8229837 .2byte 0 EverGrandeCity_HallOfFame_EventScript_229841:: @ 8229841 - turnobject EVENT_OBJ_ID_PLAYER, 2 + turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH end EverGrandeCity_HallOfFame_MapScript2_229846: @ 8229846 diff --git a/data/maps/EverGrandeCity_PhoebesRoom/scripts.inc b/data/maps/EverGrandeCity_PhoebesRoom/scripts.inc index 971eff7ca..b5a3a9999 100644 --- a/data/maps/EverGrandeCity_PhoebesRoom/scripts.inc +++ b/data/maps/EverGrandeCity_PhoebesRoom/scripts.inc @@ -9,7 +9,7 @@ EverGrandeCity_PhoebesRoom_MapScript2_228184: @ 8228184 .2byte 0 EverGrandeCity_PhoebesRoom_EventScript_22818E:: @ 822818E - turnobject EVENT_OBJ_ID_PLAYER, 2 + turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH end EverGrandeCity_PhoebesRoom_MapScript2_228193: @ 8228193 diff --git a/data/maps/EverGrandeCity_SidneysRoom/scripts.inc b/data/maps/EverGrandeCity_SidneysRoom/scripts.inc index 380b3aaf7..432747fda 100644 --- a/data/maps/EverGrandeCity_SidneysRoom/scripts.inc +++ b/data/maps/EverGrandeCity_SidneysRoom/scripts.inc @@ -30,7 +30,7 @@ EverGrandeCity_SidneysRoom_MapScript2_227F3E: @ 8227F3E .2byte 0 EverGrandeCity_SidneysRoom_EventScript_227F48:: @ 8227F48 - turnobject EVENT_OBJ_ID_PLAYER, 2 + turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH end EverGrandeCity_SidneysRoom_MapScript2_227F4D: @ 8227F4D diff --git a/data/maps/FallarborTown_BattleTentLobby/scripts.inc b/data/maps/FallarborTown_BattleTentLobby/scripts.inc index f6b7e1097..56039e5c8 100644 --- a/data/maps/FallarborTown_BattleTentLobby/scripts.inc +++ b/data/maps/FallarborTown_BattleTentLobby/scripts.inc @@ -9,7 +9,7 @@ FallarborTown_BattleTentLobby_MapScript2_1FFE71: @ 81FFE71 FallarborTown_BattleTentLobby_EventScript_1FFE7B:: @ 81FFE7B setvar VAR_TEMP_1, 1 - turnobject EVENT_OBJ_ID_PLAYER, 2 + turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH end FallarborTown_BattleTentLobby_MapScript2_1FFE85: @ 81FFE85 diff --git a/data/maps/LilycoveCity/scripts.inc b/data/maps/LilycoveCity/scripts.inc index 2588c7b1d..8edf1b385 100644 --- a/data/maps/LilycoveCity/scripts.inc +++ b/data/maps/LilycoveCity/scripts.inc @@ -37,7 +37,7 @@ LilycoveCity_EventScript_1E2BD8:: @ 81E2BD8 goto_if_set FLAG_DAILY_LILYCOVE_RECEIVED_BERRY, LilycoveCity_EventScript_1E2C18 msgbox LilycoveCity_Text_2A7244, MSGBOX_DEFAULT random 10 - addvar VAR_RESULT, 133 + addvar VAR_RESULT, FIRST_BERRY_INDEX giveitem_std VAR_RESULT compare VAR_RESULT, 0 goto_if_eq Common_EventScript_ShowBagIsFull diff --git a/data/maps/LilycoveCity_DepartmentStoreRooftop/scripts.inc b/data/maps/LilycoveCity_DepartmentStoreRooftop/scripts.inc index 54578616b..8515d265c 100644 --- a/data/maps/LilycoveCity_DepartmentStoreRooftop/scripts.inc +++ b/data/maps/LilycoveCity_DepartmentStoreRooftop/scripts.inc @@ -87,42 +87,42 @@ LilycoveCity_DepartmentStoreRooftop_EventScript_2202A6:: @ 82202A6 end LilycoveCity_DepartmentStoreRooftop_EventScript_2202E4:: @ 82202E4 - setvar VAR_TEMP_0, 26 + setvar VAR_TEMP_0, ITEM_FRESH_WATER goto LilycoveCity_DepartmentStoreRooftop_EventScript_22032F end LilycoveCity_DepartmentStoreRooftop_EventScript_2202EF:: @ 82202EF - setvar VAR_TEMP_0, 27 + setvar VAR_TEMP_0, ITEM_SODA_POP goto LilycoveCity_DepartmentStoreRooftop_EventScript_22032F end LilycoveCity_DepartmentStoreRooftop_EventScript_2202FA:: @ 82202FA - setvar VAR_TEMP_0, 28 + setvar VAR_TEMP_0, ITEM_LEMONADE goto LilycoveCity_DepartmentStoreRooftop_EventScript_22032F end LilycoveCity_DepartmentStoreRooftop_EventScript_220305:: @ 8220305 - checkmoney 0xc8, 0 + checkmoney 200, 0 return LilycoveCity_DepartmentStoreRooftop_EventScript_22030C:: @ 822030C - checkmoney 0x12c, 0 + checkmoney 300, 0 return LilycoveCity_DepartmentStoreRooftop_EventScript_220313:: @ 8220313 - checkmoney 0x15e, 0 + checkmoney 350, 0 return LilycoveCity_DepartmentStoreRooftop_EventScript_22031A:: @ 822031A - takemoney 0xc8, 0 + takemoney 200, 0 return LilycoveCity_DepartmentStoreRooftop_EventScript_220321:: @ 8220321 - takemoney 0x12c, 0 + takemoney 300, 0 return LilycoveCity_DepartmentStoreRooftop_EventScript_220328:: @ 8220328 - takemoney 0x15e, 0 + takemoney 350, 0 return LilycoveCity_DepartmentStoreRooftop_EventScript_22032F:: @ 822032F diff --git a/data/maps/LilycoveCity_DepartmentStore_5F/scripts.inc b/data/maps/LilycoveCity_DepartmentStore_5F/scripts.inc index 32908ff29..3226e6961 100644 --- a/data/maps/LilycoveCity_DepartmentStore_5F/scripts.inc +++ b/data/maps/LilycoveCity_DepartmentStore_5F/scripts.inc @@ -10,7 +10,7 @@ LilycoveCity_DepartmentStore_5F_MapScript2_21FF80: @ 821FF80 LilycoveCity_DepartmentStore_5F_EventScript_21FF9A:: @ 821FF9A setobjectxy 7, 16, 2 - turnobject 7, 2 + turnobject 7, DIR_NORTH end LilycoveCity_DepartmentStore_5F_EventScript_21FFA6:: @ 821FFA6 diff --git a/data/maps/LilycoveCity_LilycoveMuseum_2F/scripts.inc b/data/maps/LilycoveCity_LilycoveMuseum_2F/scripts.inc index add7ef22f..71aead3e4 100644 --- a/data/maps/LilycoveCity_LilycoveMuseum_2F/scripts.inc +++ b/data/maps/LilycoveCity_LilycoveMuseum_2F/scripts.inc @@ -118,7 +118,7 @@ LilycoveCity_LilycoveMuseum_2F_EventScript_2198C3:: @ 82198C3 LilycoveCity_LilycoveMuseum_2F_EventScript_2198EA:: @ 82198EA applymovement 1, Common_Movement_FacePlayer msgbox LilycoveCity_LilycoveMuseum_2F_Text_219EC5, MSGBOX_DEFAULT - givedecoration_std 44 + givedecoration_std DECOR_GLASS_ORNAMENT compare VAR_RESULT, 0 goto_if_eq LilycoveCity_LilycoveMuseum_2F_EventScript_219911 setflag FLAG_RECEIVED_GLASS_ORNAMENT diff --git a/data/maps/LittlerootTown/scripts.inc b/data/maps/LittlerootTown/scripts.inc index 206e37e62..c55f1db86 100644 --- a/data/maps/LittlerootTown/scripts.inc +++ b/data/maps/LittlerootTown/scripts.inc @@ -208,7 +208,7 @@ LittlerootTown_EventScript_1E7FEC:: @ 81E7FEC addobject 8 addobject 7 checkplayergender - compare VAR_RESULT, 0 + compare VAR_RESULT, MALE goto_if_eq LittlerootTown_EventScript_1E8004 goto LittlerootTown_EventScript_1E8013 end diff --git a/data/maps/LittlerootTown_BrendansHouse_1F/scripts.inc b/data/maps/LittlerootTown_BrendansHouse_1F/scripts.inc index 17cca3ea9..397bdfb8f 100644 --- a/data/maps/LittlerootTown_BrendansHouse_1F/scripts.inc +++ b/data/maps/LittlerootTown_BrendansHouse_1F/scripts.inc @@ -17,7 +17,7 @@ LittlerootTown_BrendansHouse_1F_EventScript_1F777A:: @ 81F777A LittlerootTown_BrendansHouse_1F_EventScript_1F778D:: @ 81F778D checkplayergender - compare VAR_RESULT, 0 + compare VAR_RESULT, MALE goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1F779A return diff --git a/data/maps/LittlerootTown_BrendansHouse_2F/scripts.inc b/data/maps/LittlerootTown_BrendansHouse_2F/scripts.inc index a1bc0d253..aef95daff 100644 --- a/data/maps/LittlerootTown_BrendansHouse_2F/scripts.inc +++ b/data/maps/LittlerootTown_BrendansHouse_2F/scripts.inc @@ -22,7 +22,7 @@ LittlerootTown_BrendansHouse_2F_EventScript_1F841A:: @ 81F841A LittlerootTown_BrendansHouse_2F_EventScript_1F8433:: @ 81F8433 checkplayergender - compare VAR_RESULT, 0 + compare VAR_RESULT, MALE goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1F8456 compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 2 goto_if_ge LittlerootTown_BrendansHouse_2F_EventScript_1F9309 @@ -35,7 +35,7 @@ LittlerootTown_BrendansHouse_2F_EventScript_1F8456:: @ 81F8456 LittlerootTown_BrendansHouse_2F_EventScript_1F8457:: @ 81F8457 checkplayergender - compare VAR_RESULT, 1 + compare VAR_RESULT, FEMALE goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1F8464 return @@ -49,7 +49,7 @@ LittlerootTown_BrendansHouse_2F_MapScript2_1F846A: @ 81F846A LittlerootTown_BrendansHouse_2F_EventScript_1F8474:: @ 81F8474 checkplayergender - compare VAR_RESULT, 0 + compare VAR_RESULT, MALE goto_if_eq SecretBase_EventScript_InitDecorations end diff --git a/data/maps/LittlerootTown_MaysHouse_1F/scripts.inc b/data/maps/LittlerootTown_MaysHouse_1F/scripts.inc index d983c9e64..510f8c249 100644 --- a/data/maps/LittlerootTown_MaysHouse_1F/scripts.inc +++ b/data/maps/LittlerootTown_MaysHouse_1F/scripts.inc @@ -17,7 +17,7 @@ LittlerootTown_MaysHouse_1F_EventScript_1F88CA:: @ 81F88CA LittlerootTown_MaysHouse_1F_EventScript_1F88DD:: @ 81F88DD checkplayergender - compare VAR_RESULT, 1 + compare VAR_RESULT, FEMALE goto_if_eq LittlerootTown_MaysHouse_1F_EventScript_1F88EA return diff --git a/data/maps/LittlerootTown_MaysHouse_2F/scripts.inc b/data/maps/LittlerootTown_MaysHouse_2F/scripts.inc index f695e675e..997a4e2c1 100644 --- a/data/maps/LittlerootTown_MaysHouse_2F/scripts.inc +++ b/data/maps/LittlerootTown_MaysHouse_2F/scripts.inc @@ -22,7 +22,7 @@ LittlerootTown_MaysHouse_2F_EventScript_1F92CD:: @ 81F92CD LittlerootTown_MaysHouse_2F_EventScript_1F92E6:: @ 81F92E6 checkplayergender - compare VAR_RESULT, 1 + compare VAR_RESULT, FEMALE goto_if_eq LittlerootTown_MaysHouse_2F_EventScript_1F9309 compare VAR_DEX_UPGRADE_JOHTO_STARTER_STATE, 2 goto_if_ge LittlerootTown_MaysHouse_2F_EventScript_1F9309 @@ -36,7 +36,7 @@ LittlerootTown_MaysHouse_2F_EventScript_1F9309:: @ 81F9309 LittlerootTown_MaysHouse_2F_EventScript_1F930A:: @ 81F930A checkplayergender - compare VAR_RESULT, 0 + compare VAR_RESULT, MALE goto_if_eq LittlerootTown_MaysHouse_2F_EventScript_1F9317 return @@ -50,7 +50,7 @@ LittlerootTown_MaysHouse_2F_MapScript2_1F931D: @ 81F931D LittlerootTown_MaysHouse_2F_EventScript_1F9327:: @ 81F9327 checkplayergender - compare VAR_RESULT, 1 + compare VAR_RESULT, FEMALE goto_if_eq SecretBase_EventScript_InitDecorations end diff --git a/data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc b/data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc index dd946c50e..b0275642c 100644 --- a/data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc +++ b/data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc @@ -48,18 +48,18 @@ LittlerootTown_ProfessorBirchsLab_MapScript2_1F9D06: @ 81F9D06 .2byte 0 LittlerootTown_ProfessorBirchsLab_EventScript_1F9D40:: @ 81F9D40 - turnobject EVENT_OBJ_ID_PLAYER, 2 + turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH end LittlerootTown_ProfessorBirchsLab_EventScript_1F9D45:: @ 81F9D45 - turnobject EVENT_OBJ_ID_PLAYER, 2 + turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH addobject 2 addobject 3 - turnobject 3, 2 + turnobject 3, DIR_NORTH setobjectxy 3, 5, 5 - turnobject 2, 1 + turnobject 2, DIR_SOUTH setobjectxy 2, 6, 4 - turnobject 1, 4 + turnobject 1, DIR_EAST setobjectxy 1, 10, 10 end @@ -72,15 +72,15 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1F9D75:: @ 81F9D75 addobject 5 addobject 6 addobject 3 - turnobject 4, 1 + turnobject 4, DIR_SOUTH setobjectxy 4, 8, 4 - turnobject 5, 1 + turnobject 5, DIR_SOUTH setobjectxy 5, 9, 4 - turnobject 6, 1 + turnobject 6, DIR_SOUTH setobjectxy 6, 10, 4 - turnobject 2, 1 + turnobject 2, DIR_SOUTH setobjectxy 2, 6, 4 - turnobject 3, 4 + turnobject 3, DIR_EAST setobjectxy 3, 5, 5 end @@ -335,7 +335,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA061:: @ 81FA061 LittlerootTown_ProfessorBirchsLab_EventScript_1FA06C:: @ 81FA06C bufferspeciesname 0, SPECIES_CYNDAQUIL setvar VAR_TEMP_1, SPECIES_CYNDAQUIL - givemon SPECIES_CYNDAQUIL, 5, ITEM_NONE, 0x0, 0x0, 0 + givemon SPECIES_CYNDAQUIL, 5, ITEM_NONE compare VAR_RESULT, 0 goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA0A1 compare VAR_RESULT, 1 @@ -380,7 +380,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA0FD:: @ 81FA0FD LittlerootTown_ProfessorBirchsLab_EventScript_1FA10D:: @ 81FA10D bufferspeciesname 0, SPECIES_TOTODILE setvar VAR_TEMP_1, SPECIES_TOTODILE - givemon SPECIES_TOTODILE, 5, ITEM_NONE, 0x0, 0x0, 0 + givemon SPECIES_TOTODILE, 5, ITEM_NONE compare VAR_RESULT, 0 goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA142 compare VAR_RESULT, 1 @@ -425,7 +425,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA19E:: @ 81FA19E LittlerootTown_ProfessorBirchsLab_EventScript_1FA1AE:: @ 81FA1AE bufferspeciesname 0, SPECIES_CHIKORITA setvar VAR_TEMP_1, SPECIES_CHIKORITA - givemon SPECIES_CHIKORITA, 5, ITEM_NONE, 0x0, 0x0, 0 + givemon SPECIES_CHIKORITA, 5, ITEM_NONE compare VAR_RESULT, 0 goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA1E3 compare VAR_RESULT, 1 diff --git a/data/maps/MauvilleCity_GameCorner/scripts.inc b/data/maps/MauvilleCity_GameCorner/scripts.inc index 0df7afe54..a401841c2 100644 --- a/data/maps/MauvilleCity_GameCorner/scripts.inc +++ b/data/maps/MauvilleCity_GameCorner/scripts.inc @@ -34,11 +34,11 @@ MauvilleCity_GameCorner_EventScript_20FC33:: @ 820FC33 checkcoins VAR_TEMP_1 compare VAR_TEMP_1, 9950 goto_if_ge MauvilleCity_GameCorner_EventScript_20FCE1 - checkmoney 0x3e8, 0 + checkmoney 1000, 0 compare VAR_RESULT, 0 goto_if_eq MauvilleCity_GameCorner_EventScript_20FCC1 givecoins 50 - takemoney 0x3e8, 0 + takemoney 1000, 0 updatemoneybox 0, 0 updatecoinsbox 1, 6 playse SE_REGI @@ -54,11 +54,11 @@ MauvilleCity_GameCorner_EventScript_20FC75:: @ 820FC75 checkcoins VAR_TEMP_1 compare VAR_TEMP_1, 9500 goto_if_ge MauvilleCity_GameCorner_EventScript_20FCE1 - checkmoney 0x2710, 0 + checkmoney 10000, 0 compare VAR_RESULT, 0 goto_if_eq MauvilleCity_GameCorner_EventScript_20FCC1 givecoins 500 - takemoney 0x2710, 0 + takemoney 10000, 0 updatemoneybox 0, 0 updatecoinsbox 1, 6 playse SE_REGI @@ -136,17 +136,17 @@ MauvilleCity_GameCorner_EventScript_20FD2B:: @ 820FD2B MauvilleCity_GameCorner_EventScript_20FD67:: @ 820FD67 setvar VAR_TEMP_1, 1 - bufferdecorationname 0, 88 + bufferdecorationname 0, DECOR_TREECKO_DOLL goto MauvilleCity_GameCorner_EventScript_20FD91 MauvilleCity_GameCorner_EventScript_20FD75:: @ 820FD75 setvar VAR_TEMP_1, 2 - bufferdecorationname 0, 89 + bufferdecorationname 0, DECOR_TORCHIC_DOLL goto MauvilleCity_GameCorner_EventScript_20FD91 MauvilleCity_GameCorner_EventScript_20FD83:: @ 820FD83 setvar VAR_TEMP_1, 3 - bufferdecorationname 0, 90 + bufferdecorationname 0, DECOR_MUDKIP_DOLL goto MauvilleCity_GameCorner_EventScript_20FD91 MauvilleCity_GameCorner_EventScript_20FD91:: @ 820FD91 @@ -163,12 +163,12 @@ MauvilleCity_GameCorner_EventScript_20FDCB:: @ 820FDCB checkcoins VAR_TEMP_2 compare VAR_TEMP_2, 1000 goto_if_lt MauvilleCity_GameCorner_EventScript_20FE79 - bufferdecorationname 1, 88 - checkdecorspace 88 + bufferdecorationname 1, DECOR_TREECKO_DOLL + checkdecorspace DECOR_TREECKO_DOLL compare VAR_RESULT, 0 goto_if_eq MauvilleCity_GameCorner_EventScript_20FE87 takecoins 1000 - givedecoration 88 + givedecoration DECOR_TREECKO_DOLL updatecoinsbox 1, 1 playse SE_REGI msgbox MauvilleCity_GameCorner_Text_210646, MSGBOX_DEFAULT @@ -179,12 +179,12 @@ MauvilleCity_GameCorner_EventScript_20FE05:: @ 820FE05 checkcoins VAR_TEMP_2 compare VAR_TEMP_2, 1000 goto_if_lt MauvilleCity_GameCorner_EventScript_20FE79 - bufferdecorationname 1, 89 - checkdecorspace 89 + bufferdecorationname 1, DECOR_TORCHIC_DOLL + checkdecorspace DECOR_TORCHIC_DOLL compare VAR_RESULT, 0 goto_if_eq MauvilleCity_GameCorner_EventScript_20FE87 takecoins 1000 - givedecoration 89 + givedecoration DECOR_TORCHIC_DOLL updatecoinsbox 1, 1 playse SE_REGI msgbox MauvilleCity_GameCorner_Text_210646, MSGBOX_DEFAULT @@ -195,12 +195,12 @@ MauvilleCity_GameCorner_EventScript_20FE3F:: @ 820FE3F checkcoins VAR_TEMP_2 compare VAR_TEMP_2, 1000 goto_if_lt MauvilleCity_GameCorner_EventScript_20FE79 - bufferdecorationname 1, 90 - checkdecorspace 90 + bufferdecorationname 1, DECOR_MUDKIP_DOLL + checkdecorspace DECOR_MUDKIP_DOLL compare VAR_RESULT, 0 goto_if_eq MauvilleCity_GameCorner_EventScript_20FE87 takecoins 1000 - givedecoration 90 + givedecoration DECOR_MUDKIP_DOLL updatecoinsbox 1, 1 playse SE_REGI msgbox MauvilleCity_GameCorner_Text_210646, MSGBOX_DEFAULT @@ -413,34 +413,34 @@ MauvilleCity_GameCorner_EventScript_210137:: @ 8210137 end MauvilleCity_GameCorner_EventScript_21017C:: @ 821017C - bufferdecorationname 1, 88 - checkdecorspace 88 + bufferdecorationname 1, DECOR_TREECKO_DOLL + checkdecorspace DECOR_TREECKO_DOLL compare VAR_RESULT, 0 goto_if_eq MauvilleCity_GameCorner_EventScript_2101FA msgbox MauvilleCity_GameCorner_Text_21079C, MSGBOX_DEFAULT - givedecoration_std 88 + givedecoration_std DECOR_TREECKO_DOLL setflag FLAG_RECEIVED_STARTER_DOLL goto MauvilleCity_GameCorner_EventScript_210213 end MauvilleCity_GameCorner_EventScript_2101A6:: @ 82101A6 - bufferdecorationname 1, 89 - checkdecorspace 89 + bufferdecorationname 1, DECOR_TORCHIC_DOLL + checkdecorspace DECOR_TORCHIC_DOLL compare VAR_RESULT, 0 goto_if_eq MauvilleCity_GameCorner_EventScript_2101FA msgbox MauvilleCity_GameCorner_Text_21079C, MSGBOX_DEFAULT - givedecoration_std 89 + givedecoration_std DECOR_TORCHIC_DOLL setflag FLAG_RECEIVED_STARTER_DOLL goto MauvilleCity_GameCorner_EventScript_210213 end MauvilleCity_GameCorner_EventScript_2101D0:: @ 82101D0 - bufferdecorationname 1, 90 - checkdecorspace 90 + bufferdecorationname 1, DECOR_MUDKIP_DOLL + checkdecorspace DECOR_MUDKIP_DOLL compare VAR_RESULT, 0 goto_if_eq MauvilleCity_GameCorner_EventScript_2101FA msgbox MauvilleCity_GameCorner_Text_21079C, MSGBOX_DEFAULT - givedecoration_std 90 + givedecoration_std DECOR_MUDKIP_DOLL setflag FLAG_RECEIVED_STARTER_DOLL goto MauvilleCity_GameCorner_EventScript_210213 end diff --git a/data/maps/MossdeepCity_SpaceCenter_2F/scripts.inc b/data/maps/MossdeepCity_SpaceCenter_2F/scripts.inc index 8dcc74116..903dc8136 100644 --- a/data/maps/MossdeepCity_SpaceCenter_2F/scripts.inc +++ b/data/maps/MossdeepCity_SpaceCenter_2F/scripts.inc @@ -300,11 +300,11 @@ MossdeepCity_SpaceCenter_2F_EventScript_224071:: @ 8224071 removeobject 8 removeobject 9 setobjectxy 3, 5, 6 - turnobject 3, 1 + turnobject 3, DIR_SOUTH setobjectxy 2, 11, 8 - turnobject 2, 2 + turnobject 2, DIR_NORTH setobjectxy 1, 6, 2 - turnobject 1, 2 + turnobject 1, DIR_NORTH call MossdeepCity_SpaceCenter_2F_EventScript_224131 fadescreen 0 msgbox MossdeepCity_SpaceCenter_2F_Text_224A4A, MSGBOX_DEFAULT @@ -331,11 +331,11 @@ MossdeepCity_SpaceCenter_2F_EventScript_224131:: @ 8224131 return MossdeepCity_SpaceCenter_2F_EventScript_22414D:: @ 822414D - turnobject 4, 2 + turnobject 4, DIR_NORTH return MossdeepCity_SpaceCenter_2F_EventScript_224152:: @ 8224152 - turnobject 4, 4 + turnobject 4, DIR_EAST return MossdeepCity_SpaceCenter_2F_EventScript_224157:: @ 8224157 diff --git a/data/maps/MossdeepCity_StevensHouse/scripts.inc b/data/maps/MossdeepCity_StevensHouse/scripts.inc index cd6fee3cc..677f1d382 100644 --- a/data/maps/MossdeepCity_StevensHouse/scripts.inc +++ b/data/maps/MossdeepCity_StevensHouse/scripts.inc @@ -85,7 +85,7 @@ MossdeepCity_StevensHouse_EventScript_22285B:: @ 822285B MossdeepCity_StevensHouse_EventScript_222865:: @ 8222865 setvar VAR_TEMP_1, SPECIES_BELDUM - givemon SPECIES_BELDUM, 5, ITEM_NONE, 0x0, 0x0, 0 + givemon SPECIES_BELDUM, 5, ITEM_NONE compare VAR_RESULT, 0 goto_if_eq MossdeepCity_StevensHouse_EventScript_222895 compare VAR_RESULT, 1 diff --git a/data/maps/MtChimney/scripts.inc b/data/maps/MtChimney/scripts.inc index 717973eba..c646fc1cf 100644 --- a/data/maps/MtChimney/scripts.inc +++ b/data/maps/MtChimney/scripts.inc @@ -104,7 +104,7 @@ MtChimney_EventScript_22EEF3:: @ 822EEF3 msgbox MtChimney_Text_22FE04, MSGBOX_YESNO compare VAR_RESULT, 0 goto_if_eq MtChimney_EventScript_22EF69 - checkmoney 0xc8, 0 + checkmoney 200, 0 compare VAR_RESULT, 0 goto_if_eq MtChimney_EventScript_22EF76 msgbox MtChimney_Text_22FE4D, MSGBOX_DEFAULT @@ -129,7 +129,7 @@ MtChimney_EventScript_22EF51:: @ 822EF51 end MtChimney_EventScript_22EF5E:: @ 822EF5E - takemoney 0xc8, 0 + takemoney 200, 0 updatemoneybox 0, 0 return diff --git a/data/maps/PetalburgCity_Gym/scripts.inc b/data/maps/PetalburgCity_Gym/scripts.inc index d3c971b2f..09f93d132 100644 --- a/data/maps/PetalburgCity_Gym/scripts.inc +++ b/data/maps/PetalburgCity_Gym/scripts.inc @@ -78,7 +78,7 @@ PetalburgCity_Gym_MapScript2_20498B: @ 820498B .2byte 0 PetalburgCity_Gym_EventScript_204995:: @ 8204995 - turnobject EVENT_OBJ_ID_PLAYER, 2 + turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH end PetalburgCity_Gym_MapScript2_20499A: @ 820499A diff --git a/data/maps/PetalburgCity_WallysHouse/scripts.inc b/data/maps/PetalburgCity_WallysHouse/scripts.inc index b285b220c..be2a6280e 100644 --- a/data/maps/PetalburgCity_WallysHouse/scripts.inc +++ b/data/maps/PetalburgCity_WallysHouse/scripts.inc @@ -8,8 +8,8 @@ PetalburgCity_WallysHouse_MapScript2_204234: @ 8204234 .2byte 0 PetalburgCity_WallysHouse_EventScript_20423E:: @ 820423E - turnobject EVENT_OBJ_ID_PLAYER, 4 - turnobject 1, 3 + turnobject EVENT_OBJ_ID_PLAYER, DIR_EAST + turnobject 1, DIR_WEST end PetalburgCity_WallysHouse_MapScript2_204247: @ 8204247 diff --git a/data/maps/Route109_SeashoreHouse/scripts.inc b/data/maps/Route109_SeashoreHouse/scripts.inc index 79d021334..d74b6b671 100644 --- a/data/maps/Route109_SeashoreHouse/scripts.inc +++ b/data/maps/Route109_SeashoreHouse/scripts.inc @@ -49,14 +49,14 @@ Route109_SeashoreHouse_EventScript_269460:: @ 8269460 end Route109_SeashoreHouse_EventScript_269484:: @ 8269484 - checkmoney 0x12c, 0 + checkmoney 300, 0 compare VAR_RESULT, 0 goto_if_eq Route109_SeashoreHouse_EventScript_2694C8 checkitemspace ITEM_SODA_POP, 1 compare VAR_RESULT, 0 goto_if_eq Route109_SeashoreHouse_EventScript_2694D5 msgbox Route109_SeashoreHouse_Text_2697C8, MSGBOX_DEFAULT - takemoney 0x12c, 0 + takemoney 300, 0 updatemoneybox 0, 0 giveitem_std ITEM_SODA_POP hidemoneybox diff --git a/data/maps/Route110_TrickHouseEnd/scripts.inc b/data/maps/Route110_TrickHouseEnd/scripts.inc index 52a0f19f5..da13f82dc 100644 --- a/data/maps/Route110_TrickHouseEnd/scripts.inc +++ b/data/maps/Route110_TrickHouseEnd/scripts.inc @@ -23,7 +23,7 @@ Route110_TrickHouseEnd_MapScript2_26ACDE: @ 826ACDE Route110_TrickHouseEnd_EventScript_26ACE8:: @ 826ACE8 addobject 1 showobjectat 1, MAP_ROUTE110_TRICK_HOUSE_END - turnobject 1, 4 + turnobject 1, DIR_EAST end Route110_TrickHouseEnd_MapScript2_26ACF5: @ 826ACF5 @@ -182,11 +182,11 @@ Route110_TrickHouseEnd_EventScript_26AFA5:: @ 826AFA5 goto Route110_TrickHouseEnd_EventScript_26AFC7 Route110_TrickHouseEnd_EventScript_26AFBF:: @ 826AFBF - givedecoration_std 31 + givedecoration_std DECOR_RED_TENT return Route110_TrickHouseEnd_EventScript_26AFC7:: @ 826AFC7 - givedecoration_std 32 + givedecoration_std DECOR_BLUE_TENT return Route110_TrickHouseEnd_EventScript_26AFCF:: @ 826AFCF @@ -233,7 +233,7 @@ Route110_TrickHouseEnd_EventScript_26B036:: @ 826B036 Route110_TrickHouseEnd_EventScript_26B041:: @ 826B041 lockall - turnobject 1, 3 + turnobject 1, DIR_WEST playse SE_PIN applymovement 1, Common_Movement_ExclamationMark waitmovement 0 @@ -248,7 +248,7 @@ Route110_TrickHouseEnd_EventScript_26B041:: @ 826B041 applymovement EVENT_OBJ_ID_PLAYER, Route110_TrickHouseEnd_Movement_26B089 waitmovement 0 delay 4 - turnobject 1, 4 + turnobject 1, DIR_EAST releaseall end diff --git a/data/maps/Route110_TrickHouseEntrance/scripts.inc b/data/maps/Route110_TrickHouseEntrance/scripts.inc index 9c2fc3aec..e8260b941 100644 --- a/data/maps/Route110_TrickHouseEntrance/scripts.inc +++ b/data/maps/Route110_TrickHouseEntrance/scripts.inc @@ -132,8 +132,8 @@ Route110_TrickHouseEntrance_MapScript2_269BD3: @ 8269BD3 Route110_TrickHouseEntrance_EventScript_269C15:: @ 8269C15 addobject 1 showobjectat 1, MAP_ROUTE110_TRICK_HOUSE_ENTRANCE - turnobject 1, 4 - turnobject EVENT_OBJ_ID_PLAYER, 3 + turnobject 1, DIR_EAST + turnobject EVENT_OBJ_ID_PLAYER, DIR_WEST end Route110_TrickHouseEntrance_EventScript_269C26:: @ 8269C26 @@ -189,13 +189,13 @@ Route110_TrickHouseEntrance_EventScript_269CCC:: @ 8269CCC Route110_TrickHouseEntrance_EventScript_269CD0:: @ 8269CD0 addobject 1 setobjectxy 1, 5, 2 - turnobject 1, 2 + turnobject 1, DIR_NORTH end Route110_TrickHouseEntrance_EventScript_269CDF:: @ 8269CDF addobject 1 setobjectxy 1, 5, 2 - turnobject 1, 1 + turnobject 1, DIR_SOUTH end Route110_TrickHouseEntrance_MapScript2_269CEE: @ 8269CEE @@ -457,11 +457,11 @@ Route110_TrickHouseEntrance_EventScript_26A070:: @ 826A070 goto Route110_TrickHouseEntrance_EventScript_26A092 Route110_TrickHouseEntrance_EventScript_26A08A:: @ 826A08A - givedecoration_std 31 + givedecoration_std DECOR_RED_TENT return Route110_TrickHouseEntrance_EventScript_26A092:: @ 826A092 - givedecoration_std 32 + givedecoration_std DECOR_BLUE_TENT return Route110_TrickHouseEntrance_EventScript_26A09A:: @ 826A09A diff --git a/data/maps/Route111/scripts.inc b/data/maps/Route111/scripts.inc index da307aaa0..88b2f1add 100644 --- a/data/maps/Route111/scripts.inc +++ b/data/maps/Route111/scripts.inc @@ -128,7 +128,7 @@ Route111_EventScript_1F0E60:: @ 81F0E60 showobjectat EVENT_OBJ_ID_PLAYER, MAP_LITTLEROOT_TOWN removeobject 45 delay 16 - turnobject EVENT_OBJ_ID_PLAYER, 2 + turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH delay 16 special StartMirageTowerDisintegration waitstate diff --git a/data/maps/Route113_GlassWorkshop/scripts.inc b/data/maps/Route113_GlassWorkshop/scripts.inc index b685389d9..03f71d235 100644 --- a/data/maps/Route113_GlassWorkshop/scripts.inc +++ b/data/maps/Route113_GlassWorkshop/scripts.inc @@ -68,7 +68,7 @@ Route113_GlassWorkshop_EventScript_26EDA7:: @ 826EDA7 end Route113_GlassWorkshop_EventScript_26EE1E:: @ 826EE1E - setvar VAR_0x8008, 39 + setvar VAR_0x8008, ITEM_BLUE_FLUTE bufferitemname 0, VAR_0x8008 setvar VAR_0x800A, 250 compare VAR_ASH_GATHER_COUNT, 250 @@ -82,7 +82,7 @@ Route113_GlassWorkshop_EventScript_26EE1E:: @ 826EE1E end Route113_GlassWorkshop_EventScript_26EE5A:: @ 826EE5A - setvar VAR_0x8008, 40 + setvar VAR_0x8008, ITEM_YELLOW_FLUTE bufferitemname 0, VAR_0x8008 setvar VAR_0x800A, 500 compare VAR_ASH_GATHER_COUNT, 500 @@ -96,7 +96,7 @@ Route113_GlassWorkshop_EventScript_26EE5A:: @ 826EE5A end Route113_GlassWorkshop_EventScript_26EE96:: @ 826EE96 - setvar VAR_0x8008, 41 + setvar VAR_0x8008, ITEM_RED_FLUTE bufferitemname 0, VAR_0x8008 setvar VAR_0x800A, 500 compare VAR_ASH_GATHER_COUNT, 500 @@ -110,7 +110,7 @@ Route113_GlassWorkshop_EventScript_26EE96:: @ 826EE96 end Route113_GlassWorkshop_EventScript_26EED2:: @ 826EED2 - setvar VAR_0x8008, 43 + setvar VAR_0x8008, ITEM_WHITE_FLUTE bufferitemname 0, VAR_0x8008 setvar VAR_0x800A, 1000 compare VAR_ASH_GATHER_COUNT, 1000 @@ -124,7 +124,7 @@ Route113_GlassWorkshop_EventScript_26EED2:: @ 826EED2 end Route113_GlassWorkshop_EventScript_26EF0E:: @ 826EF0E - setvar VAR_0x8008, 42 + setvar VAR_0x8008, ITEM_BLACK_FLUTE bufferitemname 0, VAR_0x8008 setvar VAR_0x800A, 1000 compare VAR_ASH_GATHER_COUNT, 1000 @@ -139,7 +139,7 @@ Route113_GlassWorkshop_EventScript_26EF0E:: @ 826EF0E Route113_GlassWorkshop_EventScript_26EF4A:: @ 826EF4A setvar VAR_0x8009, 1 - setvar VAR_0x8008, 13 + setvar VAR_0x8008, DECOR_PRETTY_CHAIR bufferdecorationname 0, VAR_0x8008 setvar VAR_0x800A, 6000 compare VAR_ASH_GATHER_COUNT, 6000 @@ -154,7 +154,7 @@ Route113_GlassWorkshop_EventScript_26EF4A:: @ 826EF4A Route113_GlassWorkshop_EventScript_26EF8B:: @ 826EF8B setvar VAR_0x8009, 1 - setvar VAR_0x8008, 6 + setvar VAR_0x8008, DECOR_PRETTY_DESK bufferdecorationname 0, VAR_0x8008 setvar VAR_0x800A, 8000 compare VAR_ASH_GATHER_COUNT, 8000 @@ -174,14 +174,14 @@ Route113_GlassWorkshop_EventScript_26EFCC:: @ 826EFCC Route113_GlassWorkshop_EventScript_26EFD6:: @ 826EFD6 setvar VAR_0x800A, 250 - subvar VAR_0x800A, 16456 + subvar VAR_0x800A, VAR_ASH_GATHER_COUNT buffernumberstring 0, VAR_0x800A msgbox Route113_GlassWorkshop_Text_26F34E, MSGBOX_DEFAULT release end Route113_GlassWorkshop_EventScript_26EFEE:: @ 826EFEE - subvar VAR_0x800A, 16456 + subvar VAR_0x800A, VAR_ASH_GATHER_COUNT buffernumberstring 1, VAR_0x800A message Route113_GlassWorkshop_Text_26F543 waitmessage @@ -247,50 +247,50 @@ Route113_GlassWorkshop_EventScript_26F090:: @ 826F090 Route113_GlassWorkshop_EventScript_26F0E3:: @ 826F0E3 setvar VAR_0x8009, 0 - setvar VAR_0x8008, 39 + setvar VAR_0x8008, ITEM_BLUE_FLUTE bufferitemname 0, VAR_0x8008 goto Route113_GlassWorkshop_EventScript_26F16F end Route113_GlassWorkshop_EventScript_26F0F7:: @ 826F0F7 setvar VAR_0x8009, 0 - setvar VAR_0x8008, 40 + setvar VAR_0x8008, ITEM_YELLOW_FLUTE bufferitemname 0, VAR_0x8008 goto Route113_GlassWorkshop_EventScript_26F16F end Route113_GlassWorkshop_EventScript_26F10B:: @ 826F10B setvar VAR_0x8009, 0 - setvar VAR_0x8008, 41 + setvar VAR_0x8008, ITEM_RED_FLUTE bufferitemname 0, VAR_0x8008 goto Route113_GlassWorkshop_EventScript_26F16F end Route113_GlassWorkshop_EventScript_26F11F:: @ 826F11F setvar VAR_0x8009, 0 - setvar VAR_0x8008, 43 + setvar VAR_0x8008, ITEM_WHITE_FLUTE bufferitemname 0, VAR_0x8008 goto Route113_GlassWorkshop_EventScript_26F16F end Route113_GlassWorkshop_EventScript_26F133:: @ 826F133 setvar VAR_0x8009, 0 - setvar VAR_0x8008, 42 + setvar VAR_0x8008, ITEM_BLACK_FLUTE bufferitemname 0, VAR_0x8008 goto Route113_GlassWorkshop_EventScript_26F16F end Route113_GlassWorkshop_EventScript_26F147:: @ 826F147 setvar VAR_0x8009, 1 - setvar VAR_0x8008, 13 - bufferdecorationname 0, 13 + setvar VAR_0x8008, DECOR_PRETTY_CHAIR + bufferdecorationname 0, DECOR_PRETTY_CHAIR goto Route113_GlassWorkshop_EventScript_26F16F end Route113_GlassWorkshop_EventScript_26F15B:: @ 826F15B setvar VAR_0x8009, 1 - setvar VAR_0x8008, 6 - bufferdecorationname 0, 6 + setvar VAR_0x8008, DECOR_PRETTY_DESK + bufferdecorationname 0, DECOR_PRETTY_DESK goto Route113_GlassWorkshop_EventScript_26F16F end diff --git a/data/maps/Route114/scripts.inc b/data/maps/Route114/scripts.inc index 925f693fa..faa79b861 100644 --- a/data/maps/Route114/scripts.inc +++ b/data/maps/Route114/scripts.inc @@ -32,7 +32,7 @@ Route114_EventScript_1F2582:: @ 81F2582 msgbox Route114_Text_2A6FCB, MSGBOX_DEFAULT random 5 addvar VAR_RESULT, 15 - addvar VAR_RESULT, 133 + addvar VAR_RESULT, FIRST_BERRY_INDEX giveitem_std VAR_RESULT compare VAR_RESULT, 0 goto_if_eq Common_EventScript_ShowBagIsFull diff --git a/data/maps/Route114_LanettesHouse/scripts.inc b/data/maps/Route114_LanettesHouse/scripts.inc index e24f6ce65..85b22724b 100644 --- a/data/maps/Route114_LanettesHouse/scripts.inc +++ b/data/maps/Route114_LanettesHouse/scripts.inc @@ -12,7 +12,7 @@ Route114_LanettesHouse_EventScript_22B2D2:: @ 822B2D2 goto_if_set FLAG_RECEIVED_DOLL_LANETTE, Route114_LanettesHouse_EventScript_22B2FF setflag FLAG_SYS_PC_LANETTE msgbox Route114_LanettesHouse_Text_22B34E, MSGBOX_DEFAULT - givedecoration_std 99 + givedecoration_std DECOR_LOTAD_DOLL compare VAR_RESULT, 0 goto_if_eq Route114_LanettesHouse_EventScript_272067 setflag FLAG_RECEIVED_DOLL_LANETTE diff --git a/data/maps/Route119_WeatherInstitute_2F/scripts.inc b/data/maps/Route119_WeatherInstitute_2F/scripts.inc index c4d92c172..ac47539c7 100644 --- a/data/maps/Route119_WeatherInstitute_2F/scripts.inc +++ b/data/maps/Route119_WeatherInstitute_2F/scripts.inc @@ -84,7 +84,7 @@ Route119_WeatherInstitute_2F_EventScript_26FFC8:: @ 826FFC8 Route119_WeatherInstitute_2F_EventScript_27004D:: @ 827004D msgbox Route119_WeatherInstitute_2F_Text_270650, MSGBOX_DEFAULT setvar VAR_TEMP_1, SPECIES_CASTFORM - givemon SPECIES_CASTFORM, 25, ITEM_MYSTIC_WATER, 0x0, 0x0, 0 + givemon SPECIES_CASTFORM, 25, ITEM_MYSTIC_WATER compare VAR_RESULT, 0 goto_if_eq Route119_WeatherInstitute_2F_EventScript_270085 compare VAR_RESULT, 1 diff --git a/data/maps/Route120/scripts.inc b/data/maps/Route120/scripts.inc index fdd302fdb..23f9c13e0 100644 --- a/data/maps/Route120/scripts.inc +++ b/data/maps/Route120/scripts.inc @@ -120,27 +120,27 @@ Route120_EventScript_1F5527:: @ 81F5527 end Route120_EventScript_1F55CA:: @ 81F55CA - setvar VAR_0x8004, 143 + setvar VAR_0x8004, ITEM_FIGY_BERRY goto Route120_EventScript_1F5601 end Route120_EventScript_1F55D5:: @ 81F55D5 - setvar VAR_0x8004, 144 + setvar VAR_0x8004, ITEM_WIKI_BERRY goto Route120_EventScript_1F5601 end Route120_EventScript_1F55E0:: @ 81F55E0 - setvar VAR_0x8004, 145 + setvar VAR_0x8004, ITEM_MAGO_BERRY goto Route120_EventScript_1F5601 end Route120_EventScript_1F55EB:: @ 81F55EB - setvar VAR_0x8004, 146 + setvar VAR_0x8004, ITEM_AGUAV_BERRY goto Route120_EventScript_1F5601 end Route120_EventScript_1F55F6:: @ 81F55F6 - setvar VAR_0x8004, 147 + setvar VAR_0x8004, ITEM_IAPAPA_BERRY goto Route120_EventScript_1F5601 end diff --git a/data/maps/Route121_SafariZoneEntrance/scripts.inc b/data/maps/Route121_SafariZoneEntrance/scripts.inc index 85b6c6c36..d0c950cf5 100644 --- a/data/maps/Route121_SafariZoneEntrance/scripts.inc +++ b/data/maps/Route121_SafariZoneEntrance/scripts.inc @@ -61,12 +61,12 @@ Route121_SafariZoneEntrance_EventScript_22BC48:: @ 822BC48 compare VAR_RESULT, 0 goto_if_eq Route121_SafariZoneEntrance_EventScript_22BCEA call Route121_SafariZoneEntrance_EventScript_22BCBF - checkmoney 0x1f4, 0 + checkmoney 500, 0 compare VAR_RESULT, 0 goto_if_eq Route121_SafariZoneEntrance_EventScript_22BCF8 playse SE_REGI msgbox Route121_SafariZoneEntrance_Text_2A501B, MSGBOX_DEFAULT - takemoney 0x1f4, 0 + takemoney 500, 0 updatemoneybox 0, 0 msgbox Route121_SafariZoneEntrance_Text_2A5036, MSGBOX_DEFAULT playfanfare MUS_FANFA4 diff --git a/data/maps/Route123_BerryMastersHouse/scripts.inc b/data/maps/Route123_BerryMastersHouse/scripts.inc index 939cfed80..979509440 100644 --- a/data/maps/Route123_BerryMastersHouse/scripts.inc +++ b/data/maps/Route123_BerryMastersHouse/scripts.inc @@ -14,7 +14,7 @@ Route123_BerryMastersHouse_EventScript_26F845:: @ 826F845 msgbox Route123_BerryMastersHouse_Text_2A7386, MSGBOX_DEFAULT random 10 addvar VAR_RESULT, 20 - addvar VAR_RESULT, 133 + addvar VAR_RESULT, FIRST_BERRY_INDEX giveitem_std VAR_RESULT compare VAR_RESULT, 0 goto_if_eq Common_EventScript_ShowBagIsFull @@ -22,7 +22,7 @@ Route123_BerryMastersHouse_EventScript_26F845:: @ 826F845 msgbox Route123_BerryMastersHouse_Text_2A7428, MSGBOX_DEFAULT random 10 addvar VAR_RESULT, 20 - addvar VAR_RESULT, 133 + addvar VAR_RESULT, FIRST_BERRY_INDEX giveitem_std VAR_RESULT compare VAR_RESULT, 0 goto_if_eq Common_EventScript_ShowBagIsFull @@ -75,7 +75,7 @@ Route123_BerryMastersHouse_EventScript_26F909:: @ 826F909 Route123_BerryMastersHouse_EventScript_26F94C:: @ 826F94C msgbox Route123_BerryMastersHouse_Text_2A75D0, MSGBOX_DEFAULT random 10 - addvar VAR_RESULT, 133 + addvar VAR_RESULT, FIRST_BERRY_INDEX giveitem_std VAR_RESULT compare VAR_RESULT, 0 goto_if_eq Common_EventScript_ShowBagIsFull diff --git a/data/maps/Route124_DivingTreasureHuntersHouse/scripts.inc b/data/maps/Route124_DivingTreasureHuntersHouse/scripts.inc index e1fb3d6f8..2b340f584 100644 --- a/data/maps/Route124_DivingTreasureHuntersHouse/scripts.inc +++ b/data/maps/Route124_DivingTreasureHuntersHouse/scripts.inc @@ -223,23 +223,23 @@ Route124_DivingTreasureHuntersHouse_EventScript_270E3D:: @ 8270E3D end Route124_DivingTreasureHuntersHouse_EventScript_270E84:: @ 8270E84 - setvar VAR_0x8008, 48 - setvar VAR_0x8009, 95 + setvar VAR_0x8008, ITEM_RED_SHARD + setvar VAR_0x8009, ITEM_FIRE_STONE goto Route124_DivingTreasureHuntersHouse_EventScript_270EC0 Route124_DivingTreasureHuntersHouse_EventScript_270E93:: @ 8270E93 - setvar VAR_0x8008, 50 - setvar VAR_0x8009, 96 + setvar VAR_0x8008, ITEM_YELLOW_SHARD + setvar VAR_0x8009, ITEM_THUNDER_STONE goto Route124_DivingTreasureHuntersHouse_EventScript_270EC0 Route124_DivingTreasureHuntersHouse_EventScript_270EA2:: @ 8270EA2 - setvar VAR_0x8008, 49 - setvar VAR_0x8009, 97 + setvar VAR_0x8008, ITEM_BLUE_SHARD + setvar VAR_0x8009, ITEM_WATER_STONE goto Route124_DivingTreasureHuntersHouse_EventScript_270EC0 Route124_DivingTreasureHuntersHouse_EventScript_270EB1:: @ 8270EB1 - setvar VAR_0x8008, 51 - setvar VAR_0x8009, 98 + setvar VAR_0x8008, ITEM_GREEN_SHARD + setvar VAR_0x8009, ITEM_LEAF_STONE goto Route124_DivingTreasureHuntersHouse_EventScript_270EC0 Route124_DivingTreasureHuntersHouse_EventScript_270EC0:: @ 8270EC0 diff --git a/data/maps/RustboroCity_DevonCorp_2F/scripts.inc b/data/maps/RustboroCity_DevonCorp_2F/scripts.inc index f5528087b..51aacd37b 100644 --- a/data/maps/RustboroCity_DevonCorp_2F/scripts.inc +++ b/data/maps/RustboroCity_DevonCorp_2F/scripts.inc @@ -157,7 +157,7 @@ RustboroCity_DevonCorp_2F_EventScript_211A2C:: @ 8211A2C RustboroCity_DevonCorp_2F_EventScript_211A3E:: @ 8211A3E setvar VAR_TEMP_1, SPECIES_LILEEP - givemon SPECIES_LILEEP, 20, ITEM_NONE, 0x0, 0x0, 0 + givemon SPECIES_LILEEP, 20, ITEM_NONE compare VAR_RESULT, 0 goto_if_eq RustboroCity_DevonCorp_2F_EventScript_211A6E compare VAR_RESULT, 1 @@ -206,7 +206,7 @@ RustboroCity_DevonCorp_2F_EventScript_211AD7:: @ 8211AD7 RustboroCity_DevonCorp_2F_EventScript_211AE1:: @ 8211AE1 setvar VAR_TEMP_1, SPECIES_ANORITH - givemon SPECIES_ANORITH, 20, ITEM_NONE, 0x0, 0x0, 0 + givemon SPECIES_ANORITH, 20, ITEM_NONE compare VAR_RESULT, 0 goto_if_eq RustboroCity_DevonCorp_2F_EventScript_211B11 compare VAR_RESULT, 1 diff --git a/data/maps/RustboroCity_DevonCorp_3F/scripts.inc b/data/maps/RustboroCity_DevonCorp_3F/scripts.inc index 6b83e195c..3ce08c9f1 100644 --- a/data/maps/RustboroCity_DevonCorp_3F/scripts.inc +++ b/data/maps/RustboroCity_DevonCorp_3F/scripts.inc @@ -19,7 +19,7 @@ RustboroCity_DevonCorp_3F_MapScript2_212455: @ 8212455 .2byte 0 RustboroCity_DevonCorp_3F_EventScript_21245F:: @ 821245F - turnobject EVENT_OBJ_ID_PLAYER, 4 + turnobject EVENT_OBJ_ID_PLAYER, DIR_EAST end RustboroCity_DevonCorp_3F_MapScript2_212464: @ 8212464 diff --git a/data/maps/RustboroCity_Flat1_2F/scripts.inc b/data/maps/RustboroCity_Flat1_2F/scripts.inc index ec59115ef..e5b6c493a 100644 --- a/data/maps/RustboroCity_Flat1_2F/scripts.inc +++ b/data/maps/RustboroCity_Flat1_2F/scripts.inc @@ -73,7 +73,7 @@ RustboroCity_Flat1_2F_EventScript_215221:: @ 8215221 end RustboroCity_Flat1_2F_EventScript_215238:: @ 8215238 - turnobject 6, 4 + turnobject 6, DIR_EAST return RustboroCity_Flat1_2F_EventScript_21523D:: @ 821523D diff --git a/data/maps/SkyPillar_Top/scripts.inc b/data/maps/SkyPillar_Top/scripts.inc index 0e9b4c3a1..1dae8c867 100644 --- a/data/maps/SkyPillar_Top/scripts.inc +++ b/data/maps/SkyPillar_Top/scripts.inc @@ -40,7 +40,7 @@ SkyPillar_Top_MapScript2_239713: @ 8239713 .2byte 0 SkyPillar_Top_EventScript_23971D:: @ 823971D - turnobject 1, 1 + turnobject 1, DIR_SOUTH end SkyPillar_Top_EventScript_239722:: @ 8239722 @@ -71,7 +71,7 @@ SkyPillar_Top_EventScript_239768:: @ 8239768 end SkyPillar_Top_EventScript_239771:: @ 8239771 - setvar VAR_0x8004, 406 + setvar VAR_0x8004, SPECIES_RAYQUAZA goto SkyPillar_Top_EventScript_239785 end diff --git a/data/maps/SlateportCity/scripts.inc b/data/maps/SlateportCity/scripts.inc index dd639201e..3c9d64015 100644 --- a/data/maps/SlateportCity/scripts.inc +++ b/data/maps/SlateportCity/scripts.inc @@ -769,77 +769,77 @@ SlateportCity_EventScript_1DD3CA:: @ 81DD3CA SlateportCity_EventScript_1DD46E:: @ 81DD46E bufferitemname 0, ITEM_ENERGY_POWDER - setvar VAR_0x8008, 30 + setvar VAR_0x8008, ITEM_ENERGY_POWDER setvar VAR_0x8009, 50 goto SlateportCity_EventScript_1DD557 end SlateportCity_EventScript_1DD482:: @ 81DD482 bufferitemname 0, ITEM_ENERGY_ROOT - setvar VAR_0x8008, 31 + setvar VAR_0x8008, ITEM_ENERGY_ROOT setvar VAR_0x8009, 80 goto SlateportCity_EventScript_1DD557 end SlateportCity_EventScript_1DD496:: @ 81DD496 bufferitemname 0, ITEM_HEAL_POWDER - setvar VAR_0x8008, 32 + setvar VAR_0x8008, ITEM_HEAL_POWDER setvar VAR_0x8009, 50 goto SlateportCity_EventScript_1DD557 end SlateportCity_EventScript_1DD4AA:: @ 81DD4AA bufferitemname 0, ITEM_REVIVAL_HERB - setvar VAR_0x8008, 33 + setvar VAR_0x8008, ITEM_REVIVAL_HERB setvar VAR_0x8009, 300 goto SlateportCity_EventScript_1DD557 end SlateportCity_EventScript_1DD4BE:: @ 81DD4BE bufferitemname 0, ITEM_PROTEIN - setvar VAR_0x8008, 64 + setvar VAR_0x8008, ITEM_PROTEIN setvar VAR_0x8009, 1000 goto SlateportCity_EventScript_1DD557 end SlateportCity_EventScript_1DD4D2:: @ 81DD4D2 bufferitemname 0, ITEM_IRON - setvar VAR_0x8008, 65 + setvar VAR_0x8008, ITEM_IRON setvar VAR_0x8009, 1000 goto SlateportCity_EventScript_1DD557 end SlateportCity_EventScript_1DD4E6:: @ 81DD4E6 bufferitemname 0, ITEM_CARBOS - setvar VAR_0x8008, 66 + setvar VAR_0x8008, ITEM_CARBOS setvar VAR_0x8009, 1000 goto SlateportCity_EventScript_1DD557 end SlateportCity_EventScript_1DD4FA:: @ 81DD4FA bufferitemname 0, ITEM_CALCIUM - setvar VAR_0x8008, 67 + setvar VAR_0x8008, ITEM_CALCIUM setvar VAR_0x8009, 1000 goto SlateportCity_EventScript_1DD557 end SlateportCity_EventScript_1DD50E:: @ 81DD50E bufferitemname 0, ITEM_ZINC - setvar VAR_0x8008, 70 + setvar VAR_0x8008, ITEM_ZINC setvar VAR_0x8009, 1000 goto SlateportCity_EventScript_1DD557 end SlateportCity_EventScript_1DD522:: @ 81DD522 bufferitemname 0, ITEM_HP_UP - setvar VAR_0x8008, 63 + setvar VAR_0x8008, ITEM_HP_UP setvar VAR_0x8009, 1000 goto SlateportCity_EventScript_1DD557 end SlateportCity_EventScript_1DD536:: @ 81DD536 bufferitemname 0, ITEM_PP_UP - setvar VAR_0x8008, 69 + setvar VAR_0x8008, ITEM_PP_UP setvar VAR_0x8009, 3000 goto SlateportCity_EventScript_1DD557 end diff --git a/data/maps/SlateportCity_BattleTentCorridor/scripts.inc b/data/maps/SlateportCity_BattleTentCorridor/scripts.inc index 27f7fa3b9..e0d4c1706 100644 --- a/data/maps/SlateportCity_BattleTentCorridor/scripts.inc +++ b/data/maps/SlateportCity_BattleTentCorridor/scripts.inc @@ -12,10 +12,10 @@ SlateportCity_BattleTentCorridor_EventScript_208E3B:: @ 8208E3B compare VAR_0x8006, 1 goto_if_ne SlateportCity_BattleTentCorridor_EventScript_208E56 setobjectxy 1, 2, 2 - turnobject 1, 1 + turnobject 1, DIR_SOUTH SlateportCity_BattleTentCorridor_EventScript_208E56:: @ 8208E56 - turnobject EVENT_OBJ_ID_PLAYER, 2 + turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH end SlateportCity_BattleTentCorridor_MapScript2_208E5B: @ 8208E5B diff --git a/data/maps/SlateportCity_BattleTentLobby/scripts.inc b/data/maps/SlateportCity_BattleTentLobby/scripts.inc index 19416c91b..e7ce11a39 100644 --- a/data/maps/SlateportCity_BattleTentLobby/scripts.inc +++ b/data/maps/SlateportCity_BattleTentLobby/scripts.inc @@ -9,7 +9,7 @@ SlateportCity_BattleTentLobby_MapScript2_20873B: @ 820873B SlateportCity_BattleTentLobby_EventScript_208745:: @ 8208745 setvar VAR_TEMP_1, 1 - turnobject EVENT_OBJ_ID_PLAYER, 2 + turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH end SlateportCity_BattleTentLobby_MapScript2_20874F: @ 820874F diff --git a/data/maps/SlateportCity_House1/scripts.inc b/data/maps/SlateportCity_House1/scripts.inc index 418d0d354..1203c2333 100644 --- a/data/maps/SlateportCity_House1/scripts.inc +++ b/data/maps/SlateportCity_House1/scripts.inc @@ -28,7 +28,7 @@ SlateportCity_House1_EventScript_209AE9:: @ 8209AE9 SlateportCity_House1_EventScript_209AF3:: @ 8209AF3 specialvar VAR_RESULT, ScriptGetPartyMonSpecies - compare VAR_RESULT, 412 + compare VAR_RESULT, SPECIES_EGG goto_if_eq SlateportCity_House1_EventScript_209B46 special TV_CopyNicknameToStringVar1AndEnsureTerminated special TV_CheckMonOTIDEqualsPlayerID diff --git a/data/maps/SlateportCity_OceanicMuseum_1F/scripts.inc b/data/maps/SlateportCity_OceanicMuseum_1F/scripts.inc index 90d42ccae..0516db1fc 100644 --- a/data/maps/SlateportCity_OceanicMuseum_1F/scripts.inc +++ b/data/maps/SlateportCity_OceanicMuseum_1F/scripts.inc @@ -34,11 +34,11 @@ SlateportCity_OceanicMuseum_1F_EventScript_20ADC1:: @ 820ADC1 end SlateportCity_OceanicMuseum_1F_EventScript_20ADE8:: @ 820ADE8 - checkmoney 0x32, 0 + checkmoney 50, 0 compare VAR_RESULT, 0 goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_20AE18 playse SE_REGI - takemoney 0x32, 0 + takemoney 50, 0 updatemoneybox 0, 0 msgbox SlateportCity_OceanicMuseum_1F_Text_20B026, MSGBOX_DEFAULT setvar VAR_SLATEPORT_MUSEUM_1F_STATE, 1 diff --git a/data/maps/SootopolisCity/scripts.inc b/data/maps/SootopolisCity/scripts.inc index 2f3ef0434..668a18561 100644 --- a/data/maps/SootopolisCity/scripts.inc +++ b/data/maps/SootopolisCity/scripts.inc @@ -179,11 +179,11 @@ SootopolisCity_EventScript_1E58E5:: @ 81E58E5 end SootopolisCity_EventScript_1E58FC:: @ 81E58FC - turnobject EVENT_OBJ_ID_PLAYER, 2 + turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH return SootopolisCity_EventScript_1E5901:: @ 81E5901 - turnobject EVENT_OBJ_ID_PLAYER, 2 + turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH setvar VAR_SKY_PILLAR_STATE, 3 return @@ -748,7 +748,7 @@ SootopolisCity_EventScript_1E5F1B:: @ 81E5F1B msgbox SootopolisCity_Text_2A7BB0, MSGBOX_DEFAULT random 10 addvar VAR_RESULT, 20 - addvar VAR_RESULT, 133 + addvar VAR_RESULT, FIRST_BERRY_INDEX giveitem_std VAR_RESULT compare VAR_RESULT, 0 goto_if_eq Common_EventScript_ShowBagIsFull diff --git a/data/maps/SootopolisCity_House6/scripts.inc b/data/maps/SootopolisCity_House6/scripts.inc index 0f175478a..bd9c8fe51 100644 --- a/data/maps/SootopolisCity_House6/scripts.inc +++ b/data/maps/SootopolisCity_House6/scripts.inc @@ -9,7 +9,7 @@ SootopolisCity_House6_EventScript_226F5C:: @ 8226F5C compare VAR_RESULT, 0 call_if_eq SootopolisCity_House6_EventScript_226F99 msgbox SootopolisCity_House6_Text_227034, MSGBOX_DEFAULT - givedecoration_std 117 + givedecoration_std DECOR_WAILMER_DOLL compare VAR_RESULT, 0 goto_if_eq SootopolisCity_House6_EventScript_226FAD setflag FLAG_RECEIVED_WAILMER_DOLL @@ -27,7 +27,7 @@ SootopolisCity_House6_EventScript_226FA3:: @ 8226FA3 end SootopolisCity_House6_EventScript_226FAD:: @ 8226FAD - bufferdecorationname 1, 117 + bufferdecorationname 1, DECOR_WAILMER_DOLL msgbox gText_NoRoomLeftForAnother, MSGBOX_DEFAULT msgbox SootopolisCity_House6_Text_22704A, MSGBOX_DEFAULT release diff --git a/data/maps/VerdanturfTown_BattleTentLobby/scripts.inc b/data/maps/VerdanturfTown_BattleTentLobby/scripts.inc index daaaaea1b..15d0e5eb6 100644 --- a/data/maps/VerdanturfTown_BattleTentLobby/scripts.inc +++ b/data/maps/VerdanturfTown_BattleTentLobby/scripts.inc @@ -9,7 +9,7 @@ VerdanturfTown_BattleTentLobby_MapScript2_2016DB: @ 82016DB VerdanturfTown_BattleTentLobby_EventScript_2016E5:: @ 82016E5 setvar VAR_TEMP_1, 1 - turnobject EVENT_OBJ_ID_PLAYER, 2 + turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH end VerdanturfTown_BattleTentLobby_MapScript2_2016EF: @ 82016EF diff --git a/data/mystery_event_msg.s b/data/mystery_event_msg.s index dd1f8e681..33af5269c 100644 --- a/data/mystery_event_msg.s +++ b/data/mystery_event_msg.s @@ -2,6 +2,7 @@ #include "constants/items.h" #include "constants/map_scripts.h" #include "constants/moves.h" +#include "constants/region_map_sections.h" #include "constants/songs.h" #include "constants/species.h" #include "constants/vars.h" @@ -19,7 +20,7 @@ MysteryEventScript_StampCard:: @ 8674CB0 specialvar VAR_0x8008, sub_813986C setorcopyvar VAR_RESULT, 0 specialvar VAR_0x8009, sub_813986C - subvar VAR_0x8008, 32777 + subvar VAR_0x8008, VAR_0x8009 buffernumberstring 0, VAR_0x8008 lock faceplayer @@ -66,7 +67,7 @@ SurfPichu_FullParty: @ 8674D73 SurfPichu_GiveEgg: @ 8674D7E giveegg SPECIES_PICHU setmonobedient VAR_EVENT_PICHU_SLOT - setmonmetlocation VAR_EVENT_PICHU_SLOT, 255 + setmonmetlocation VAR_EVENT_PICHU_SLOT, METLOC_FATEFUL_ENCOUNTER compare_var_to_value VAR_EVENT_PICHU_SLOT, 1 vgoto_if 1, SurfPichu_Slot1 compare_var_to_value VAR_EVENT_PICHU_SLOT, 2 diff --git a/data/scripts/cable_club.inc b/data/scripts/cable_club.inc index dd024ecff..2fe90a4c9 100644 --- a/data/scripts/cable_club.inc +++ b/data/scripts/cable_club.inc @@ -99,7 +99,7 @@ MossdeepCity_GameCorner_1F_EventScript_276BAE:: @ 8276BAE OldaleTown_PokemonCenter_2F_EventScript_276BAE:: @ 8276BAE compare VAR_0x8007, 0 goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276BBD - turnobject VAR_0x8007, 3 + turnobject VAR_0x8007, DIR_WEST OldaleTown_PokemonCenter_2F_EventScript_276BBD:: @ 8276BBD end diff --git a/data/scripts/contest_hall.inc b/data/scripts/contest_hall.inc index f86853a16..d00e23d77 100644 --- a/data/scripts/contest_hall.inc +++ b/data/scripts/contest_hall.inc @@ -261,7 +261,7 @@ LinkContestRoom1_EventScript_27A091:: @ 827A091 return LinkContestRoom1_EventScript_27A097:: @ 827A097 - buffercontesttypestring 1, 32776 + buffercontesttypestring 1, VAR_0x8008 bufferstdstring 2, VAR_0x8009 call LinkContestRoom1_EventScript_27A0B1 lockall @@ -1012,71 +1012,71 @@ LinkContestRoom1_EventScript_27AA1B:: @ 827AA1B return LinkContestRoom1_EventScript_27AA6F:: @ 827AA6F - turnvobject 0, 1 - turnvobject 2, 1 - turnvobject 4, 4 - turnvobject 6, 1 - turnvobject 8, 1 - turnvobject 10, 1 - turnvobject 12, 1 - turnvobject 14, 1 - turnvobject 16, 1 - turnvobject 18, 1 - turnvobject 20, 4 - turnvobject 22, 4 - turnvobject 25, 4 - turnvobject 27, 3 - turnvobject 28, 4 + turnvobject 0, DIR_SOUTH + turnvobject 2, DIR_SOUTH + turnvobject 4, DIR_EAST + turnvobject 6, DIR_SOUTH + turnvobject 8, DIR_SOUTH + turnvobject 10, DIR_SOUTH + turnvobject 12, DIR_SOUTH + turnvobject 14, DIR_SOUTH + turnvobject 16, DIR_SOUTH + turnvobject 18, DIR_SOUTH + turnvobject 20, DIR_EAST + turnvobject 22, DIR_EAST + turnvobject 25, DIR_EAST + turnvobject 27, DIR_WEST + turnvobject 28, DIR_EAST delay 10 - turnvobject 0, 4 - turnvobject 2, 4 - turnvobject 4, 4 - turnvobject 6, 4 - turnvobject 8, 4 - turnvobject 10, 3 - turnvobject 12, 3 - turnvobject 14, 3 - turnvobject 16, 3 - turnvobject 18, 3 - turnvobject 20, 1 - turnvobject 22, 1 - turnvobject 25, 2 - turnvobject 27, 2 - turnvobject 28, 2 + turnvobject 0, DIR_EAST + turnvobject 2, DIR_EAST + turnvobject 4, DIR_EAST + turnvobject 6, DIR_EAST + turnvobject 8, DIR_EAST + turnvobject 10, DIR_WEST + turnvobject 12, DIR_WEST + turnvobject 14, DIR_WEST + turnvobject 16, DIR_WEST + turnvobject 18, DIR_WEST + turnvobject 20, DIR_SOUTH + turnvobject 22, DIR_SOUTH + turnvobject 25, DIR_NORTH + turnvobject 27, DIR_NORTH + turnvobject 28, DIR_NORTH delay 10 - turnvobject 1, 2 - turnvobject 3, 2 - turnvobject 5, 2 - turnvobject 7, 2 - turnvobject 9, 4 - turnvobject 11, 2 - turnvobject 15, 2 - turnvobject 13, 2 - turnvobject 17, 2 - turnvobject 19, 2 - turnvobject 21, 3 - turnvobject 23, 3 - turnvobject 24, 3 - turnvobject 26, 4 - turnvobject 29, 3 - turnvobject 30, 3 + turnvobject 1, DIR_NORTH + turnvobject 3, DIR_NORTH + turnvobject 5, DIR_NORTH + turnvobject 7, DIR_NORTH + turnvobject 9, DIR_EAST + turnvobject 11, DIR_NORTH + turnvobject 15, DIR_NORTH + turnvobject 13, DIR_NORTH + turnvobject 17, DIR_NORTH + turnvobject 19, DIR_NORTH + turnvobject 21, DIR_WEST + turnvobject 23, DIR_WEST + turnvobject 24, DIR_WEST + turnvobject 26, DIR_EAST + turnvobject 29, DIR_WEST + turnvobject 30, DIR_WEST delay 10 - turnvobject 1, 4 - turnvobject 3, 4 - turnvobject 5, 4 - turnvobject 7, 4 - turnvobject 9, 4 - turnvobject 11, 3 - turnvobject 15, 3 - turnvobject 13, 3 - turnvobject 17, 3 - turnvobject 19, 3 - turnvobject 21, 1 - turnvobject 23, 1 - turnvobject 24, 1 - turnvobject 26, 2 - turnvobject 29, 2 - turnvobject 30, 2 + turnvobject 1, DIR_EAST + turnvobject 3, DIR_EAST + turnvobject 5, DIR_EAST + turnvobject 7, DIR_EAST + turnvobject 9, DIR_EAST + turnvobject 11, DIR_WEST + turnvobject 15, DIR_WEST + turnvobject 13, DIR_WEST + turnvobject 17, DIR_WEST + turnvobject 19, DIR_WEST + turnvobject 21, DIR_SOUTH + turnvobject 23, DIR_SOUTH + turnvobject 24, DIR_SOUTH + turnvobject 26, DIR_NORTH + turnvobject 29, DIR_NORTH + turnvobject 30, DIR_NORTH delay 10 return diff --git a/data/unknown_jp_62609C.bin b/data/unknown_jp_62609C.bin Binary files differdeleted file mode 100644 index 1394e7aa8..000000000 --- a/data/unknown_jp_62609C.bin +++ /dev/null diff --git a/include/battle.h b/include/battle.h index 0f4087c90..32eabc6de 100644 --- a/include/battle.h +++ b/include/battle.h @@ -37,7 +37,6 @@ #define B_ACTION_NONE 0xFF #define MAX_TRAINER_ITEMS 4 -#define MAX_MON_MOVES 4 // array entries for battle communication #define MULTIUSE_STATE 0x0 @@ -180,19 +179,19 @@ struct AI_ThinkingStruct u8 aiState; u8 movesetIndex; u16 moveConsidered; - s8 score[4]; + s8 score[MAX_MON_MOVES]; u32 funcResult; u32 aiFlags; u8 aiAction; u8 aiLogicId; u8 filler12[6]; - u8 simulatedRNG[4]; + u8 simulatedRNG[MAX_MON_MOVES]; }; struct UsedMoves { - u16 moves[MAX_BATTLERS_COUNT]; - u16 unknown[MAX_BATTLERS_COUNT]; + u16 moves[MAX_MON_MOVES]; + u16 unknown[MAX_MON_MOVES]; }; struct BattleHistory diff --git a/include/battle_controllers.h b/include/battle_controllers.h index 9449f1986..365229fda 100644 --- a/include/battle_controllers.h +++ b/include/battle_controllers.h @@ -97,16 +97,16 @@ struct HpAndStatus struct MovePpInfo { - u16 moves[4]; - u8 pp[4]; + u16 moves[MAX_MON_MOVES]; + u8 pp[MAX_MON_MOVES]; u8 ppBonuses; }; struct ChooseMoveStruct { - u16 moves[4]; - u8 currentPp[4]; - u8 maxPp[4]; + u16 moves[MAX_MON_MOVES]; + u8 currentPp[MAX_MON_MOVES]; + u8 maxPp[MAX_MON_MOVES]; u16 species; u8 monType1; u8 monType2; diff --git a/include/battle_tower.h b/include/battle_tower.h index 12d6d2e9e..8bc6e6554 100644 --- a/include/battle_tower.h +++ b/include/battle_tower.h @@ -7,7 +7,7 @@ struct RSBattleTowerRecord /*0x01*/ u8 facilityClass; /*0x02*/ u16 winStreak; /*0x04*/ u8 name[PLAYER_NAME_LENGTH + 1]; - /*0x0C*/ u8 trainerId[4]; + /*0x0C*/ u8 trainerId[TRAINER_ID_LENGTH]; /*0x10*/ u16 greeting[6]; /*0x1C*/ struct BattleTowerPokemon party[3]; /*0xA0*/ u32 checksum; @@ -27,7 +27,7 @@ struct BattleFrontierTrainer struct FacilityMon { u16 species; - u16 moves[4]; + u16 moves[MAX_MON_MOVES]; u8 itemTableId; u8 evSpread; u8 nature; diff --git a/include/berry.h b/include/berry.h index 9ff18e198..ebe1e9a38 100644 --- a/include/berry.h +++ b/include/berry.h @@ -1,39 +1,6 @@ #ifndef GUARD_BERRY_H #define GUARD_BERRY_H -#define BERRY_NONE 0 - -enum -{ - BERRY_FIRMNESS_UNKNOWN, - BERRY_FIRMNESS_VERY_SOFT, - BERRY_FIRMNESS_SOFT, - BERRY_FIRMNESS_HARD, - BERRY_FIRMNESS_VERY_HARD, - BERRY_FIRMNESS_SUPER_HARD, -}; - -enum -{ - FLAVOR_SPICY, - FLAVOR_DRY, - FLAVOR_SWEET, - FLAVOR_BITTER, - FLAVOR_SOUR, - FLAVOR_COUNT -}; - -enum -{ - BERRY_STAGE_NO_BERRY, // there is no tree planted and the soil is completely flat. - BERRY_STAGE_PLANTED, - BERRY_STAGE_SPROUTED, - BERRY_STAGE_TALLER, - BERRY_STAGE_FLOWERING, - BERRY_STAGE_BERRIES, - BERRY_STAGE_SPARKLING = 0xFF, -}; - void ClearEnigmaBerries(void); void SetEnigmaBerry(u8 *src); bool32 IsEnigmaBerryValid(void); diff --git a/include/constants/berry.h b/include/constants/berry.h new file mode 100644 index 000000000..d413b9947 --- /dev/null +++ b/include/constants/berry.h @@ -0,0 +1,28 @@ +#ifndef GUARD_CONSTANTS_BERRY_H +#define GUARD_CONSTANTS_BERRY_H + +#define BERRY_NONE 0 + +#define BERRY_FIRMNESS_UNKNOWN 0 +#define BERRY_FIRMNESS_VERY_SOFT 1 +#define BERRY_FIRMNESS_SOFT 2 +#define BERRY_FIRMNESS_HARD 3 +#define BERRY_FIRMNESS_VERY_HARD 4 +#define BERRY_FIRMNESS_SUPER_HARD 5 + +#define FLAVOR_SPICY 0 +#define FLAVOR_DRY 1 +#define FLAVOR_SWEET 2 +#define FLAVOR_BITTER 3 +#define FLAVOR_SOUR 4 +#define FLAVOR_COUNT 5 + +#define BERRY_STAGE_NO_BERRY 0 // there is no tree planted and the soil is completely flat. +#define BERRY_STAGE_PLANTED 1 +#define BERRY_STAGE_SPROUTED 2 +#define BERRY_STAGE_TALLER 3 +#define BERRY_STAGE_FLOWERING 4 +#define BERRY_STAGE_BERRIES 5 +#define BERRY_STAGE_SPARKLING 255 + +#endif // GUARD_CONSTANTS_BERRY_H diff --git a/include/constants/global.h b/include/constants/global.h index 0507f22cc..31b89c709 100644 --- a/include/constants/global.h +++ b/include/constants/global.h @@ -54,6 +54,7 @@ #define TRAINER_ID_LENGTH 4 #define PARTY_SIZE 6 +#define MAX_MON_MOVES 4 // string lengths #define ITEM_NAME_LENGTH 14 diff --git a/include/contest.h b/include/contest.h index 8ef208aea..2b1b95af5 100644 --- a/include/contest.h +++ b/include/contest.h @@ -227,7 +227,7 @@ struct ContestPokemon u8 aiPool_Cute:1; // 0x10 u8 aiPool_Smart:1; // 0x20 u8 aiPool_Tough:1; // 0x40 - /*0x1E*/ u16 moves[4]; // moves + /*0x1E*/ u16 moves[MAX_MON_MOVES]; // moves /*0x26*/ u8 cool; // cool /*0x27*/ u8 beauty; // beauty /*0x28*/ u8 cute; // cute diff --git a/include/data.h b/include/data.h index f1a4caa6a..49b98663a 100644 --- a/include/data.h +++ b/include/data.h @@ -34,7 +34,7 @@ struct TrainerMonNoItemCustomMoves u16 iv; u8 lvl; u16 species; - u16 moves[4]; + u16 moves[MAX_MON_MOVES]; }; struct TrainerMonItemCustomMoves @@ -43,7 +43,7 @@ struct TrainerMonItemCustomMoves u8 lvl; u16 species; u16 heldItem; - u16 moves[4]; + u16 moves[MAX_MON_MOVES]; }; union TrainerMonPtr diff --git a/include/ereader_helpers.h b/include/ereader_helpers.h index bcbb68d4f..8dc3b907a 100755 --- a/include/ereader_helpers.h +++ b/include/ereader_helpers.h @@ -1,51 +1,34 @@ #ifndef GUARD_EREADER_HELPERS_H #define GUARD_EREADER_HELPERS_H -struct Unk81D38FC +#include "trainer_hill.h" + +struct EReaderTrainerHillTrainer { u8 unk0; - u8 filler_1[3]; - u8 unk4[0x148]; - u8 unk14C[0x124]; - int checksum; -}; + struct TrainerHillTrainer unk4; + struct TrHillDisplay unk14C; + u32 checksum; +}; // size=0x274 struct EReaderTrainerHillSet { - u8 unk_0; - u8 unk_1; - u8 unk_2; - u8 unk_3; - int checksum; - struct Unk81D38FC unk_8[6]; + u8 count; + u8 id; + u16 dummy; + u32 checksum; + struct EReaderTrainerHillTrainer unk_8[6]; u8 unk_ec0[40]; -}; - -struct Unk81D3998Sub -{ - u8 unk_000[4]; - u8 unk_004[0x148]; - u8 unk_14C[0x148]; - u8 unk_294[0x124]; -}; - -struct Unk81D3998 -{ - u8 unk_000; - u8 unk_001; - u8 unk_002; - int checksum; - struct Unk81D3998Sub unk_008[4]; -}; +}; // size = 0xf00 bool8 EReader_IsReceivedDataValid(struct EReaderTrainerHillSet *buffer); bool32 TryWriteTrainerHill(struct EReaderTrainerHillSet *arg0); bool32 ReadTrainerHillAndValidate(void); -int sub_81D3D70(u8, u32, u32*, u32*); +int EReaderHandleTransfer(u8, u32, u32*, u32*); void sub_81D3F9C(void); void sub_81D3FAC(void); -void sub_81D41A0(void); -void sub_81D41F4(void); +void EReaderHelper_SaveRegsState(void); +void EReaderHelper_RestoreRegsState(void); void sub_81D4238(void); #endif // GUARD_EREADER_HELPERS_H diff --git a/include/global.h b/include/global.h index d6d18a3ab..82c53c009 100644 --- a/include/global.h +++ b/include/global.h @@ -210,7 +210,7 @@ struct BerryCrush struct ApprenticeMon { u16 species; - u16 moves[4]; + u16 moves[MAX_MON_MOVES]; u16 item; }; @@ -232,7 +232,7 @@ struct BattleTowerPokemon { u16 species; u16 heldItem; - u16 moves[4]; + u16 moves[MAX_MON_MOVES]; u8 level; u8 ppBonuses; u8 hpEV; @@ -255,6 +255,8 @@ struct BattleTowerPokemon u8 friendship; }; +#define NULL_BATTLE_TOWER_POKEMON { .nickname = __("$$$$$$$$$$$") } + struct EmeraldBattleTowerRecord { /*0x00*/ u8 lvlMode; // 0 = level 50, 1 = level 100 @@ -286,7 +288,7 @@ struct BattleTowerEReaderTrainer struct FrontierMonData { - u16 moves[4]; + u16 moves[MAX_MON_MOVES]; u8 evs[6]; u8 nature; }; @@ -942,7 +944,7 @@ struct SaveBlock1 /*0x2B94*/ u8 outbreakPokemonLevel; /*0x2B95*/ u8 outbreakUnk1; /*0x2B96*/ u16 outbreakUnk2; - /*0x2B98*/ u16 outbreakPokemonMoves[4]; + /*0x2B98*/ u16 outbreakPokemonMoves[MAX_MON_MOVES]; /*0x2BA0*/ u8 outbreakUnk4; /*0x2BA1*/ u8 outbreakPokemonProbability; /*0x2BA2*/ u16 outbreakDaysLeft; diff --git a/include/global.tv.h b/include/global.tv.h index aa151a75c..abb01d471 100644 --- a/include/global.tv.h +++ b/include/global.tv.h @@ -482,7 +482,7 @@ typedef union // size = 0x24 /*0x01*/ bool8 active; /*0x02*/ u8 var02; /*0x03*/ u8 var03; - /*0x04*/ u16 moves[4]; + /*0x04*/ u16 moves[MAX_MON_MOVES]; /*0x0C*/ u16 species; /*0x0E*/ u16 var0E; /*0x10*/ u8 locationMapNum; diff --git a/include/graphics.h b/include/graphics.h index d1d99cc8f..5f5c579d2 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -3093,90 +3093,93 @@ extern const u32 gPokeblock_Gfx[]; extern const u32 gItemIcon_QuestionMark[]; extern const u32 gItemIconPalette_QuestionMark[]; -extern const u32 gUnknown_08DB7AA0[]; -extern const u32 gUnknown_08DB7B34[]; -extern const u32 gUnknown_08DB7B5C[]; -extern const u32 gUnknown_08DB7BEC[]; -extern const u32 gUnknown_08DB7C08[]; -extern const u32 gUnknown_08DB7CE8[]; -extern const u32 gUnknown_08DB7D08[]; -extern const u32 gUnknown_08DB7DCC[]; -extern const u32 gUnknown_08DB7DF4[]; -extern const u32 gUnknown_08DB7EA0[]; -extern const u32 gUnknown_08DB7EC4[]; -extern const u32 gUnknown_08DB7F60[]; -extern const u32 gUnknown_08DB7F7C[]; -extern const u32 gUnknown_08DB8070[]; -extern const u32 gUnknown_08DB808C[]; -extern const u32 gUnknown_08DB8138[]; -extern const u32 gUnknown_08DB8160[]; -extern const u32 gUnknown_08DB8218[]; -extern const u32 gUnknown_08DB823C[]; -extern const u32 gUnknown_08DB8300[]; -extern const u32 gUnknown_08DB8328[]; -extern const u32 gUnknown_08DB8430[]; -extern const u32 gUnknown_08DB8458[]; -extern const u32 gUnknown_08DB8528[]; -extern const u32 gUnknown_08DB854C[]; -extern const u32 gUnknown_08DB862C[]; -extern const u32 gUnknown_08DB8654[]; -extern const u32 gUnknown_08DB86C4[]; -extern const u32 gUnknown_08DB86E0[]; -extern const u32 gUnknown_08DB8750[]; -extern const u32 gUnknown_08DB876C[]; -extern const u32 gUnknown_08DB87DC[]; -extern const u32 gUnknown_08DB87F8[]; -extern const u32 gUnknown_08DB88D8[]; -extern const u32 gUnknown_08DB8900[]; -extern const u32 gUnknown_08DB89E0[]; -extern const u32 gUnknown_08DB8A08[]; -extern const u32 gUnknown_08DB8A68[]; -extern const u32 gUnknown_08DB8A84[]; -extern const u32 gUnknown_08DB8B40[]; -extern const u32 gUnknown_08DB8B68[]; -extern const u32 gUnknown_08DB8C40[]; -extern const u32 gUnknown_08DB8C5C[]; -extern const u32 gUnknown_08DB8CF4[]; -extern const u32 gUnknown_08DB8D18[]; -extern const u32 gUnknown_08DB8DB0[]; -extern const u32 gUnknown_08DB8DD4[]; -extern const u32 gUnknown_08DB8E80[]; -extern const u32 gUnknown_08DB8EA0[]; -extern const u32 gUnknown_08DB8F58[]; -extern const u32 gUnknown_08DB8F7C[]; -extern const u32 gUnknown_08DB9038[]; -extern const u32 gUnknown_08DB9058[]; -extern const u32 gUnknown_08DB9130[]; -extern const u32 gUnknown_08DB9154[]; -extern const u32 gUnknown_08DB9218[]; -extern const u32 gUnknown_08DB9234[]; -extern const u32 gUnknown_08DB92FC[]; -extern const u32 gUnknown_08DB931C[]; -extern const u32 gUnknown_08DB93E8[]; -extern const u32 gUnknown_08DB940C[]; -extern const u32 gUnknown_08DB94CC[]; -extern const u32 gUnknown_08DB94E8[]; -extern const u32 gUnknown_08DB95AC[]; -extern const u32 gUnknown_08DB95D0[]; -extern const u32 gUnknown_08DB96C4[]; -extern const u32 gUnknown_08DB96EC[]; -extern const u32 gUnknown_08DB97F4[]; -extern const u32 gUnknown_08DB981C[]; -extern const u32 gUnknown_08DB9908[]; -extern const u32 gUnknown_08DB9930[]; -extern const u32 gUnknown_08DB9A54[]; -extern const u32 gUnknown_08DB9A7C[]; -extern const u32 gUnknown_08DB9B7C[]; -extern const u32 gUnknown_08DB9BA4[]; -extern const u32 gUnknown_08DB9CB0[]; -extern const u32 gUnknown_08DB9CD8[]; -extern const u32 gUnknown_08DB9DAC[]; -extern const u32 gUnknown_08DB9DD4[]; -extern const u32 gUnknown_08DB9EE4[]; -extern const u32 gUnknown_08DB9F08[]; -extern const u32 gUnknown_08DB9FFC[]; -extern const u32 gUnknown_08DBA020[]; -extern const u32 gUnknown_08DBA12C[]; + +// Decorations +extern const u32 gDecorIcon_HeavyDesk[]; +extern const u32 gDecorIconPalette_HeavyDesk[]; +extern const u32 gDecorIcon_RaggedDesk[]; +extern const u32 gDecorIconPalette_RaggedDesk[]; +extern const u32 gDecorIcon_ComfortDesk[]; +extern const u32 gDecorIconPalette_ComfortDesk[]; +extern const u32 gDecorIcon_PrettyDesk[]; +extern const u32 gDecorIconPalette_PrettyDesk[]; +extern const u32 gDecorIcon_BrickDesk[]; +extern const u32 gDecorIconPalette_BrickDesk[]; +extern const u32 gDecorIcon_CampDesk[]; +extern const u32 gDecorIconPalette_CampDesk[]; +extern const u32 gDecorIcon_HardDesk[]; +extern const u32 gDecorIconPalette_HardDesk[]; +extern const u32 gDecorIcon_RedPlant[]; +extern const u32 gDecorIconPalette_RedPlant[]; +extern const u32 gDecorIcon_TropicalPlant[]; +extern const u32 gDecorIconPalette_TropicalPlant[]; +extern const u32 gDecorIcon_PrettyFlowers[]; +extern const u32 gDecorIconPalette_PrettyFlowers[]; +extern const u32 gDecorIcon_ColorfulPlant[]; +extern const u32 gDecorIconPalette_ColorfulPlant[]; +extern const u32 gDecorIcon_BigPlant[]; +extern const u32 gDecorIconPalette_BigPlant[]; +extern const u32 gDecorIcon_GorgeousPlant[]; +extern const u32 gDecorIconPalette_GorgeousPlant[]; +extern const u32 gDecorIcon_RedBrick[]; +extern const u32 gDecorIconPalette_RedBrick[]; +extern const u32 gDecorIcon_YellowBrick[]; +extern const u32 gDecorIconPalette_YellowBrick[]; +extern const u32 gDecorIcon_BlueBrick[]; +extern const u32 gDecorIconPalette_BlueBrick[]; +extern const u32 gDecorIcon_RedTent[]; +extern const u32 gDecorIconPalette_RedTent[]; +extern const u32 gDecorIcon_BlueTent[]; +extern const u32 gDecorIconPalette_BlueTent[]; +extern const u32 gDecorIcon_SolidBoard[]; +extern const u32 gDecorIconPalette_SolidBoard[]; +extern const u32 gDecorIcon_Slide[]; +extern const u32 gDecorIconPalette_Slide[]; +extern const u32 gDecorIcon_Tire[]; +extern const u32 gDecorIconPalette_Tire[]; +extern const u32 gDecorIcon_Stand[]; +extern const u32 gDecorIconPalette_Stand[]; +extern const u32 gDecorIcon_BreakableDoor[]; +extern const u32 gDecorIconPalette_BreakableDoor[]; +extern const u32 gDecorIcon_SandOrnament[]; +extern const u32 gDecorIconPalette_SandOrnament[]; +extern const u32 gDecorIcon_GlassOrnament[]; +extern const u32 gDecorIconPalette_GlassOrnament[]; +extern const u32 gDecorIcon_SurfMat[]; +extern const u32 gDecorIconPalette_SurfMat[]; +extern const u32 gDecorIcon_ThunderMat[]; +extern const u32 gDecorIconPalette_ThunderMat[]; +extern const u32 gDecorIcon_FireBlastMat[]; +extern const u32 gDecorIconPalette_FireBlastMat[]; +extern const u32 gDecorIcon_PowderSnowMat[]; +extern const u32 gDecorIconPalette_PowderSnowMat[]; +extern const u32 gDecorIcon_AttractMat[]; +extern const u32 gDecorIconPalette_AttractMat[]; +extern const u32 gDecorIcon_FissureMat[]; +extern const u32 gDecorIconPalette_FissureMat[]; +extern const u32 gDecorIcon_SpikesMat[]; +extern const u32 gDecorIconPalette_SpikesMat[]; +extern const u32 gDecorIcon_SnorlaxDoll[]; +extern const u32 gDecorIconPalette_SnorlaxDoll[]; +extern const u32 gDecorIcon_RhydonDoll[]; +extern const u32 gDecorIconPalette_RhydonDoll[]; +extern const u32 gDecorIcon_LaprasDoll[]; +extern const u32 gDecorIconPalette_LaprasDoll[]; +extern const u32 gDecorIcon_VenusaurDoll[]; +extern const u32 gDecorIconPalette_VenusaurDoll[]; +extern const u32 gDecorIcon_CharizardDoll[]; +extern const u32 gDecorIconPalette_CharizardDoll[]; +extern const u32 gDecorIcon_BlastoiseDoll[]; +extern const u32 gDecorIconPalette_BlastoiseDoll[]; +extern const u32 gDecorIcon_WailmerDoll[]; +extern const u32 gDecorIconPalette_WailmerDoll[]; +extern const u32 gDecorIcon_RegirockDoll[]; +extern const u32 gDecorIconPalette_RegirockDoll[]; +extern const u32 gDecorIcon_RegiceDoll[]; +extern const u32 gDecorIconPalette_RegiceDoll[]; +extern const u32 gDecorIcon_RegisteelDoll[]; +extern const u32 gDecorIconPalette_RegisteelDoll[]; + extern const u32 gWallclock_Gfx[]; extern const u16 gWallclockMale_Pal[]; extern const u16 gWallclockFemale_Pal[]; diff --git a/include/mon_markings.h b/include/mon_markings.h index 8e4ec58bd..241b31e01 100644 --- a/include/mon_markings.h +++ b/include/mon_markings.h @@ -1,17 +1,19 @@ #ifndef POKEEMERALD_MON_MARKINGS_H #define POKEEMERALD_MON_MARKINGS_H +#define NUM_MON_MARKINGS 4 + struct PokemonMarkMenu { /*0x0000*/ u16 baseTileTag; /*0x0002*/ u16 basePaletteTag; /*0x0004*/ u8 markings; // bit flags /*0x0005*/ s8 cursorPos; - /*0x0006*/ bool8 markingsArray[4]; + /*0x0006*/ bool8 markingsArray[NUM_MON_MARKINGS]; /*0x000A*/ u8 cursorBaseY; /*0x000B*/ bool8 spriteSheetLoadRequired; /*0x000C*/ struct Sprite *menuWindowSprites[2]; // upper and lower halves of menu window - /*0x0014*/ struct Sprite *menuMarkingSprites[4]; + /*0x0014*/ struct Sprite *menuMarkingSprites[NUM_MON_MARKINGS]; /*0x0024*/ struct Sprite *unkSprite; /*0x0028*/ struct Sprite *menuTextSprite; /*0x002C*/ const u8 *frameTiles; diff --git a/include/pokemon.h b/include/pokemon.h index ec125573c..2931f4428 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -145,8 +145,8 @@ struct PokemonSubstruct0 struct PokemonSubstruct1 { - u16 moves[4]; - u8 pp[4]; + u16 moves[MAX_MON_MOVES]; + u8 pp[MAX_MON_MOVES]; }; struct PokemonSubstruct2 @@ -273,7 +273,7 @@ struct BattlePokemon /*0x06*/ u16 speed; /*0x08*/ u16 spAttack; /*0x0A*/ u16 spDefense; - /*0x0C*/ u16 moves[4]; + /*0x0C*/ u16 moves[MAX_MON_MOVES]; /*0x14*/ u32 hpIV:5; /*0x14*/ u32 attackIV:5; /*0x15*/ u32 defenseIV:5; @@ -287,7 +287,7 @@ struct BattlePokemon /*0x21*/ u8 type1; /*0x22*/ u8 type2; /*0x23*/ u8 unknown; - /*0x24*/ u8 pp[4]; + /*0x24*/ u8 pp[MAX_MON_MOVES]; /*0x28*/ u16 hp; /*0x2A*/ u8 level; /*0x2B*/ u8 friendship; diff --git a/include/script_movement.h b/include/script_movement.h index 4c3fa6002..f9a97cf46 100644 --- a/include/script_movement.h +++ b/include/script_movement.h @@ -1,8 +1,8 @@ #ifndef GUARD_SCRIPT_MOVEMENT_H #define GUARD_SCRIPT_MOVEMENT_H -bool8 ScriptMovement_StartObjectMovementScript(u8, u8, u8, const u8 *); -bool8 ScriptMovement_IsObjectMovementFinished(u8, u8, u8); -void sub_80D338C(void); +bool8 ScriptMovement_StartObjectMovementScript(u8 localId, u8 mapNum, u8 mapGroup, const u8 *movementScript); +bool8 ScriptMovement_IsObjectMovementFinished(u8 localId, u8 mapNum, u8 mapGroup); +void ScriptMovement_UnfreezeEventObjects(void); #endif // GUARD_SCRIPT_MOVEMENT_H diff --git a/include/strings.h b/include/strings.h index 78ae2c140..e31a97761 100644 --- a/include/strings.h +++ b/include/strings.h @@ -1054,51 +1054,51 @@ extern const u8 gText_Yes[]; extern const u8 gText_No[]; extern const u8 gUnknown_085EAEA2[]; extern const u8 gUnknown_085EAEAC[]; -extern const u8 gUnknown_0827ECBC[]; -extern const u8 gUnknown_0827ECC3[]; -extern const u8 gUnknown_0827ECCD[]; -extern const u8 gUnknown_0827ECD5[]; -extern const u8 gUnknown_0827ECDD[]; -extern const u8 gUnknown_0827ECE3[]; -extern const u8 gUnknown_0827ECEB[]; -extern const u8 gUnknown_0827ECF2[]; -extern const u8 gUnknown_0827ECF8[]; -extern const u8 gUnknown_0827ED00[]; -extern const u8 gUnknown_0827ED06[]; -extern const u8 gUnknown_0827ED10[]; -extern const u8 gUnknown_0827ED18[]; -extern const u8 gUnknown_0827ED22[]; -extern const u8 gUnknown_0827ED2C[]; -extern const u8 gUnknown_0827ED36[]; -extern const u8 gUnknown_0827ED40[]; -extern const u8 gUnknown_0827ED46[]; -extern const u8 gUnknown_0827ED4F[]; -extern const u8 gUnknown_0827ED59[]; -extern const u8 gUnknown_0827ED65[]; -extern const u8 gUnknown_0827ED70[]; -extern const u8 gUnknown_0827ED74[]; -extern const u8 gUnknown_0827ED78[]; -extern const u8 gUnknown_0827ED80[]; -extern const u8 gUnknown_0827ED95[]; -extern const u8 gUnknown_0827EDAA[]; -extern const u8 gUnknown_0827EDB5[]; -extern const u8 gUnknown_0827EDBA[]; -extern const u8 gUnknown_0827EDC1[]; -extern const u8 gUnknown_0827EDC9[]; -extern const u8 gUnknown_0827EDD5[]; -extern const u8 gUnknown_0827EDE4[]; -extern const u8 gUnknown_0827EDF0[]; -extern const u8 gUnknown_0827EDF5[]; -extern const u8 gUnknown_0827EDF7[]; -extern const u8 gUnknown_0827EDF9[]; -extern const u8 gUnknown_0827EDFB[]; -extern const u8 gUnknown_0827EDFD[]; -extern const u8 gUnknown_0827EDFF[]; -extern const u8 gUnknown_0827EE01[]; -extern const u8 gUnknown_0827EE03[]; -extern const u8 gUnknown_0827EE05[]; -extern const u8 gUnknown_0827EE07[]; -extern const u8 gUnknown_0827EE09[]; +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[]; // Pokedex strings extern const u8 gUnknown_085E87A5[]; diff --git a/include/task.h b/include/task.h index 4852571b4..d0ca34f7f 100644 --- a/include/task.h +++ b/include/task.h @@ -5,6 +5,7 @@ #define TAIL_SENTINEL 0xFF #define NUM_TASKS 16 +#define NUM_TASK_DATA 16 typedef void (*TaskFunc)(u8 taskId); @@ -15,7 +16,7 @@ struct Task u8 prev; u8 next; u8 priority; - s16 data[16]; + s16 data[NUM_TASK_DATA]; }; extern struct Task gTasks[]; diff --git a/include/trainer_hill.h b/include/trainer_hill.h index e605ac654..31480287a 100644 --- a/include/trainer_hill.h +++ b/include/trainer_hill.h @@ -1,6 +1,52 @@ #ifndef GUARD_TRAINER_HILL_H #define GUARD_TRAINER_HILL_H +#define HILL_TRAINER_NAME_LENGTH 11 + +struct TrainerHillTrainer +{ + u8 name[HILL_TRAINER_NAME_LENGTH]; + u8 facilityClass; + u32 unused; + u16 speechBefore[6]; + u16 speechWin[6]; + u16 speechLose[6]; + u16 speechAfter[6]; + struct BattleTowerPokemon mons[PARTY_SIZE]; +}; + +struct TrHillRoomTrainers +{ + u8 name[2][HILL_TRAINER_NAME_LENGTH]; + u8 facilityClass[2]; +}; + +struct TrHillDisplay +{ + u8 data[0x100]; + u16 unk3A0[16]; + u8 coords[2]; // x first 4 bits, y last 4 bits + u8 direction; // array of 4 bits for each trainer + u8 range; // array of 4 bits for each trainer +}; + +struct TrHillFloor +{ + u8 unk0; + u8 unk1; + struct TrainerHillTrainer trainers[2]; + struct TrHillDisplay display; +}; + +struct TrHillTag +{ + u8 unkField_0; + u8 unused1; + u8 numFloors; + u32 checksum; + struct TrHillFloor floors[0]; +}; + extern u32 *gTrainerHillVBlankCounter; void CallTrainerHillFunction(void); diff --git a/ld_script.txt b/ld_script.txt index a044ecdab..4247fca4d 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -360,6 +360,7 @@ SECTIONS { asm/librfu_intr.o(.text); src/librfu_rfu.o(.text); asm/librfu.o(.text); + src/libisagbprn.o(.text); src/libagbsyscall.o(.text); *libgcc.a:_call_via_rX.o(.text); *libgcc.a:_divdi3.o(.text); @@ -380,38 +381,39 @@ SECTIONS { *libc.a:memset.o(.text); *libc.a:strcmp.o(.text); *libc.a:strcpy.o(.text); - *libc.a:vfprintf.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:findfp.o(.text); - *libc.a:fflush.o(.text); - *libc.a:wsetup.o(.text); + *libc.a:makebuf.o(.text); + *libc.a:mallocr.o(.text); *libc.a:mbtowc_r.o(.text); - *libc.a:s_isinf.o(.text); - *libc.a:s_isnan.o(.text); *libc.a:memchr.o(.text); - *libc.a:strlen.o(.text); - *libc.a:dtoa.o(.text); *libc.a:memmove.o(.text); - *libc.a:stdio.o(.text); + *libc.a:mlock.o(.text); *libc.a:mprec.o(.text); - *libc.a:mallocr.o(.text); - *libc.a:fwalk.o(.text); - *libc.a:freer.o(.text); - *libc.a:makebuf.o(.text); - *libc.a:readr.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:lseekr.o(.text); - *libc.a:closer.o(.text); *libc.a:callocr.o(.text); - *libc.a:sbrkr.o(.text); - *libc.a:mlock.o(.text); + *libc.a:closer.o(.text); + *libc.a:errno.o(.text); *libc.a:fstatr.o(.text); *libc.a:libcfunc.o(.text); - *libc.a:syscalls.o(.text); - *libc.a:errno.o(.text); - src/libisagbprn.o(.text); + *libc.a:lseekr.o(.text); + *libc.a:readr.o(.text); } =0 .rodata : @@ -661,10 +663,8 @@ SECTIONS { src/pokenav_match_call_data.o(.rodata); src/menu_specialized.o(.rodata); src/ereader_helpers.o(.rodata); - data/ereader_helpers.o(.rodata); src/faraway_island.o(.rodata); src/ereader_screen.o(.rodata); - data/ereader_screen.o(.rodata); src/trainer_hill.o(.rodata); src/rayquaza_scene.o(.rodata); src/walda_phrase.o(.rodata); diff --git a/src/apprentice.c b/src/apprentice.c index 4ad295e1a..76962807e 100644 --- a/src/apprentice.c +++ b/src/apprentice.c @@ -1100,7 +1100,7 @@ void ResetAllApprenticeData(void) gSaveBlock2Ptr->apprentices[i].lvlMode = 0; gSaveBlock2Ptr->apprentices[i].number = 0; gSaveBlock2Ptr->apprentices[i].field_1 = 0; - for (j = 0; j < 4; j++) + for (j = 0; j < TRAINER_ID_LENGTH; j++) gSaveBlock2Ptr->apprentices[i].playerId[j] = 0; gSaveBlock2Ptr->apprentices[i].language = gGameLanguage; gSaveBlock2Ptr->apprentices[i].checksum = 0; @@ -1410,7 +1410,7 @@ static void GetLatestLearnedMoves(u16 species, u16 *moves) static u16 sub_81A0284(u8 arg0, u8 speciesTableId, u8 arg2) { - u16 moves[4]; + u16 moves[MAX_MON_MOVES]; u8 i, count; if (PLAYER_APPRENTICE.field_B1_1 < 3) @@ -2063,7 +2063,7 @@ static void sub_81A1370(void) r10 = 0xFFFF; r9 = -1; - for (i = 1; i < 4; i++) + for (i = 1; i < TRAINER_ID_LENGTH; i++) { if (GetTrainerId(gSaveBlock2Ptr->apprentices[i].playerId) == GetTrainerId(gSaveBlock2Ptr->playerTrainerId) && gSaveBlock2Ptr->apprentices[i].number < r10) @@ -2092,7 +2092,7 @@ static void sub_81A1438(void) gSaveBlock2Ptr->apprentices[0].number++; sub_81A0390(gSaveBlock2Ptr->apprentices[0].field_1); - for (i = 0; i < 4; i++) + for (i = 0; i < TRAINER_ID_LENGTH; i++) gSaveBlock2Ptr->apprentices[0].playerId[i] = gSaveBlock2Ptr->playerTrainerId[i]; StringCopy(gSaveBlock2Ptr->apprentices[0].playerName, gSaveBlock2Ptr->playerName); diff --git a/src/battle_ai_script_commands.c b/src/battle_ai_script_commands.c index 3c07cc227..b581a8bbc 100644 --- a/src/battle_ai_script_commands.c +++ b/src/battle_ai_script_commands.c @@ -298,7 +298,7 @@ void BattleAI_HandleItemUseBeforeAISetup(u8 defaultScoreMoves) ) ) { - for (i = 0; i < 4; i++) + for (i = 0; i < MAX_TRAINER_ITEMS; i++) { if (gTrainers[gTrainerBattleOpponent_A].items[i] != 0) { @@ -397,8 +397,8 @@ u8 BattleAI_ChooseMoveOrAction(void) static u8 ChooseMoveOrAction_Singles(void) { - u8 currentMoveArray[4]; - u8 consideredMoveArray[4]; + u8 currentMoveArray[MAX_MON_MOVES]; + u8 consideredMoveArray[MAX_MON_MOVES]; u8 numOfBestMoves; s32 i; @@ -452,11 +452,11 @@ static u8 ChooseMoveOrAction_Doubles(void) s32 i; s32 j; s32 scriptsToRun; - s16 bestMovePointsForTarget[4]; - s8 mostViableTargetsArray[4]; - u8 actionOrMoveIndex[4]; - u8 mostViableMovesScores[4]; - u8 mostViableMovesIndices[4]; + s16 bestMovePointsForTarget[MAX_BATTLERS_COUNT]; + s8 mostViableTargetsArray[MAX_BATTLERS_COUNT]; + u8 actionOrMoveIndex[MAX_BATTLERS_COUNT]; + u8 mostViableMovesScores[MAX_MON_MOVES]; + u8 mostViableMovesIndices[MAX_MON_MOVES]; s32 mostViableTargetsNo; s32 mostViableMovesNo; s16 mostMovePoints; @@ -543,7 +543,7 @@ static u8 ChooseMoveOrAction_Doubles(void) mostViableTargetsArray[0] = 0; mostViableTargetsNo = 1; - for (i = 1; i < MAX_MON_MOVES; i++) + for (i = 1; i < MAX_BATTLERS_COUNT; i++) { if (mostMovePoints == bestMovePointsForTarget[i]) { @@ -1167,7 +1167,7 @@ static void BattleAICmd_get_considered_move_power(void) static void BattleAICmd_get_how_powerful_move_is(void) { s32 i, checkedMove; - s32 moveDmgs[4]; + s32 moveDmgs[MAX_MON_MOVES]; for (i = 0; sDiscouragedPowerfulMoveEffects[i] != 0xFFFF; i++) { diff --git a/src/battle_ai_switch_items.c b/src/battle_ai_switch_items.c index cd31293f8..6ef359150 100644 --- a/src/battle_ai_switch_items.c +++ b/src/battle_ai_switch_items.c @@ -820,7 +820,7 @@ static bool8 ShouldUseItem(void) } } - for (i = 0; i < 4; i++) + for (i = 0; i < MAX_TRAINER_ITEMS; i++) { u16 item; const u8 *itemEffects; diff --git a/src/battle_anim.c b/src/battle_anim.c index 3cac9f33e..ab1e5ed6a 100644 --- a/src/battle_anim.c +++ b/src/battle_anim.c @@ -1841,7 +1841,7 @@ void LaunchBattleAnimation(const u8 *const animsTable[], u16 tableId, bool8 isMo UpdateOamPriorityInAllHealthboxes(0); for (i = 0; i < MAX_BATTLERS_COUNT; i++) { - if (GetBattlerSide(i) != 0) + if (GetBattlerSide(i) != B_SIDE_PLAYER) gAnimBattlerSpecies[i] = GetMonData(&gEnemyParty[gBattlerPartyIndexes[i]], MON_DATA_SPECIES); else gAnimBattlerSpecies[i] = GetMonData(&gPlayerParty[gBattlerPartyIndexes[i]], MON_DATA_SPECIES); diff --git a/src/battle_anim_effects_1.c b/src/battle_anim_effects_1.c index dfe5f0f3d..db9057cb4 100644 --- a/src/battle_anim_effects_1.c +++ b/src/battle_anim_effects_1.c @@ -3560,7 +3560,7 @@ void sub_8100640(struct Sprite* sprite) else battler = gBattleAnimTarget; - if (GetBattlerSide(battler) != 0) + if (GetBattlerSide(battler) != B_SIDE_PLAYER) { sprite->data[4] = 0; sprite->data[2] = gBattleAnimArgs[3]; @@ -3731,7 +3731,7 @@ static void sub_81009DC(struct Sprite* sprite) void sub_81009F8(struct Sprite* sprite) { - if (GetBattlerSide(gBattleAnimAttacker) != 0) + if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) { sprite->pos1.x -= gBattleAnimArgs[0]; sprite->pos1.y += gBattleAnimArgs[1]; @@ -3828,7 +3828,7 @@ void sub_8100B88(struct Sprite* sprite) sprite->pos1.x = a; sprite->pos1.y = b; - if (GetBattlerSide(gBattleAnimTarget) == 0) + if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER) sprite->pos1.y += 8; sprite->callback = AnimSliceStep; diff --git a/src/battle_anim_effects_2.c b/src/battle_anim_effects_2.c index 3b7d26aab..1add76bf3 100755 --- a/src/battle_anim_effects_2.c +++ b/src/battle_anim_effects_2.c @@ -1479,7 +1479,7 @@ void AnimSonicBoomProjectile(struct Sprite *sprite) { gBattleAnimArgs[2] = -gBattleAnimArgs[2]; } - else if (GetBattlerSide(gBattleAnimAttacker) != 0) + else if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) { gBattleAnimArgs[2] = -gBattleAnimArgs[2]; gBattleAnimArgs[1] = -gBattleAnimArgs[1]; @@ -1646,7 +1646,7 @@ void sub_8103CF0(u8 taskId) } else { - if ((gBattlerPositions[gBattleAnimTarget] & 1) == 0) + if ((gBattlerPositions[gBattleAnimTarget] & BIT_SIDE) == B_SIDE_PLAYER) { gTasks[taskId].data[4] = 1; gBattleAnimArgs[0] = -gBattleAnimArgs[0]; diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index b73bfc36f..1be5def47 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -664,7 +664,7 @@ u32 sub_8057FBC(void) // unused static void HandleMoveSwitching(void) { - u8 perMovePPBonuses[4]; + u8 perMovePPBonuses[MAX_MON_MOVES]; struct ChooseMoveStruct moveStruct; u8 totalPPBonuses; diff --git a/src/battle_controllers.c b/src/battle_controllers.c index 1225d1953..17db0b868 100644 --- a/src/battle_controllers.c +++ b/src/battle_controllers.c @@ -234,16 +234,16 @@ static void InitSinglePlayerBtlControllers(void) gBattleMainFunc = BeginBattleIntro; gBattlerControllerFuncs[0] = SetControllerToRecordedPlayer; - gBattlerPositions[0] = 0; + gBattlerPositions[0] = B_POSITION_PLAYER_LEFT; gBattlerControllerFuncs[1] = SetControllerToOpponent; - gBattlerPositions[1] = 1; + gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT; gBattlerControllerFuncs[2] = SetControllerToRecordedPlayer; - gBattlerPositions[2] = 2; + gBattlerPositions[2] = B_POSITION_PLAYER_RIGHT; gBattlerControllerFuncs[3] = SetControllerToOpponent; - gBattlerPositions[3] = 3; + gBattlerPositions[3] = B_POSITION_OPPONENT_RIGHT; gBattlersCount = MAX_BATTLERS_COUNT; @@ -524,12 +524,12 @@ static void InitLinkBtlControllers(void) { case 0: case 3: - gBattlerPositions[gLinkPlayers[i].id] = 0; + gBattlerPositions[gLinkPlayers[i].id] = B_POSITION_PLAYER_LEFT; gBattlerPartyIndexes[gLinkPlayers[i].id] = 0; break; case 1: case 2: - gBattlerPositions[gLinkPlayers[i].id] = 2; + gBattlerPositions[gLinkPlayers[i].id] = B_POSITION_PLAYER_RIGHT; gBattlerPartyIndexes[gLinkPlayers[i].id] = 3; break; } @@ -544,12 +544,12 @@ static void InitLinkBtlControllers(void) { case 0: case 3: - gBattlerPositions[gLinkPlayers[i].id] = 0; + gBattlerPositions[gLinkPlayers[i].id] = B_POSITION_PLAYER_LEFT; gBattlerPartyIndexes[gLinkPlayers[i].id] = 0; break; case 1: case 2: - gBattlerPositions[gLinkPlayers[i].id] = 2; + gBattlerPositions[gLinkPlayers[i].id] = B_POSITION_PLAYER_RIGHT; gBattlerPartyIndexes[gLinkPlayers[i].id] = 3; break; } @@ -561,12 +561,12 @@ static void InitLinkBtlControllers(void) { case 0: case 3: - gBattlerPositions[gLinkPlayers[i].id] = 1; + gBattlerPositions[gLinkPlayers[i].id] = B_POSITION_OPPONENT_LEFT; gBattlerPartyIndexes[gLinkPlayers[i].id] = 0; break; case 1: case 2: - gBattlerPositions[gLinkPlayers[i].id] = 3; + gBattlerPositions[gLinkPlayers[i].id] = B_POSITION_OPPONENT_RIGHT; gBattlerPartyIndexes[gLinkPlayers[i].id] = 3; break; } diff --git a/src/battle_gfx_sfx_util.c b/src/battle_gfx_sfx_util.c index cdd7e8158..de403aec7 100644 --- a/src/battle_gfx_sfx_util.c +++ b/src/battle_gfx_sfx_util.c @@ -779,7 +779,7 @@ bool8 BattleInitAllSprites(u8 *state1, u8 *battlerId) break; case 4: InitBattlerHealthboxCoords(*battlerId); - if (gBattlerPositions[*battlerId] <= 1) + if (gBattlerPositions[*battlerId] <= B_POSITION_OPPONENT_LEFT) DummyBattleInterfaceFunc(gHealthboxSpriteIds[*battlerId], FALSE); else DummyBattleInterfaceFunc(gHealthboxSpriteIds[*battlerId], TRUE); diff --git a/src/battle_main.c b/src/battle_main.c index 92e21db75..27889e81e 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -1790,9 +1790,9 @@ static void CB2_HandleStartMultiBattle(void) gBattleCommunication[SPRITES_INIT_STATE2] = 0; if (gBattleTypeFlags & BATTLE_TYPE_LINK) { - for (id = 0; id < 4 && (gLinkPlayers[id].version & 0xFF) == 3; id++); + for (id = 0; id < MAX_LINK_PLAYERS && (gLinkPlayers[id].version & 0xFF) == VERSION_EMERALD; id++); - if (id == 4) + if (id == MAX_LINK_PLAYERS) gBattleCommunication[MULTIUSE_STATE] = 8; else gBattleCommunication[MULTIUSE_STATE] = 10; @@ -4025,7 +4025,7 @@ void BattleTurnPassed(void) if (gBattleOutcome != 0) { - gCurrentActionFuncId = 12; + gCurrentActionFuncId = B_ACTION_FINISHED; gBattleMainFunc = RunTurnActionsFunctions; return; } @@ -4244,7 +4244,7 @@ static void HandleTurnActionSelectionState(void) moveInfo.monType1 = gBattleMons[gActiveBattler].type1; moveInfo.monType2 = gBattleMons[gActiveBattler].type2; - for (i = 0; i < 4; i++) + for (i = 0; i < MAX_MON_MOVES; i++) { moveInfo.moves[i] = gBattleMons[gActiveBattler].moves[i]; moveInfo.currentPp[i] = gBattleMons[gActiveBattler].pp[i]; @@ -4979,7 +4979,7 @@ static void CheckFocusPunch_ClearVarsBeforeTurnStarts(void) static void RunTurnActionsFunctions(void) { if (gBattleOutcome != 0) - gCurrentActionFuncId = 12; + gCurrentActionFuncId = B_ACTION_FINISHED; *(&gBattleStruct->savedTurnActionNumber) = gCurrentTurnActionNumber; sTurnActionsFuncsTable[gCurrentActionFuncId](); @@ -5139,7 +5139,7 @@ static void HandleEndTurn_MonFled(void) static void HandleEndTurn_FinishBattle(void) { - if (gCurrentActionFuncId == 0xB || gCurrentActionFuncId == 0xC) + if (gCurrentActionFuncId == B_ACTION_TRY_FINISH || gCurrentActionFuncId == B_ACTION_FINISHED) { if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000 @@ -5284,7 +5284,7 @@ static void ReturnFromBattleToOverworld(void) void RunBattleScriptCommands_PopCallbacksStack(void) { - if (gCurrentActionFuncId == 0xB || gCurrentActionFuncId == 0xC) + if (gCurrentActionFuncId == B_ACTION_TRY_FINISH || gCurrentActionFuncId == B_ACTION_FINISHED) { if (gBattleResources->battleCallbackStack->size != 0) gBattleResources->battleCallbackStack->size--; @@ -5592,7 +5592,7 @@ static void HandleAction_UseItem(void) else { PREPARE_STAT_BUFFER(gBattleTextBuff1, STAT_ATK) - PREPARE_STRING_BUFFER(gBattleTextBuff2, 0xD2) + PREPARE_STRING_BUFFER(gBattleTextBuff2, CHAR_X) while (!((*(gBattleStruct->AI_itemFlags + (gBattlerAttacker >> 1))) & 1)) { diff --git a/src/battle_pike.c b/src/battle_pike.c index 8846e2d1a..4e2be23e4 100644 --- a/src/battle_pike.c +++ b/src/battle_pike.c @@ -49,7 +49,7 @@ struct PikeWildMon { u16 species; u8 levelDelta; - u16 moves[4]; + u16 moves[MAX_MON_MOVES]; }; // IWRAM bss diff --git a/src/battle_pyramid.c b/src/battle_pyramid.c index cc722da8d..4d35f4244 100644 --- a/src/battle_pyramid.c +++ b/src/battle_pyramid.c @@ -77,7 +77,7 @@ struct PyramidWildMon u16 species; u8 lvl; u8 abilityNum; - u16 moves[4]; + u16 moves[MAX_MON_MOVES]; }; struct PyramidFloorTemplate diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 5016a3a58..6f1b43240 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -10184,7 +10184,7 @@ static void atkEF_handleballthrow(void) gBattlescriptCurrInstr = BattleScript_SuccessBallThrow; SetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattlerTarget]], MON_DATA_POKEBALL, &gLastUsedItem); - if (CalculatePlayerPartyCount() == 6) + if (CalculatePlayerPartyCount() == PARTY_SIZE) gBattleCommunication[MULTISTRING_CHOOSER] = 0; else gBattleCommunication[MULTISTRING_CHOOSER] = 1; @@ -10196,7 +10196,7 @@ static void atkEF_handleballthrow(void) odds = Sqrt(Sqrt(16711680 / odds)); odds = 1048560 / odds; - for (shakes = 0; shakes < 4 && Random() < odds; shakes++); + for (shakes = 0; shakes < BALL_3_SHAKES_SUCCESS && Random() < odds; shakes++); if (gLastUsedItem == ITEM_MASTER_BALL) shakes = BALL_3_SHAKES_SUCCESS; // why calculate the shakes before that check? @@ -10209,7 +10209,7 @@ static void atkEF_handleballthrow(void) gBattlescriptCurrInstr = BattleScript_SuccessBallThrow; SetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattlerTarget]], MON_DATA_POKEBALL, &gLastUsedItem); - if (CalculatePlayerPartyCount() == 6) + if (CalculatePlayerPartyCount() == PARTY_SIZE) gBattleCommunication[MULTISTRING_CHOOSER] = 0; else gBattleCommunication[MULTISTRING_CHOOSER] = 1; diff --git a/src/battle_tower.c b/src/battle_tower.c index 8ef848e39..c55180965 100644 --- a/src/battle_tower.c +++ b/src/battle_tower.c @@ -1019,7 +1019,7 @@ struct u8 level; u8 nature; u8 evs[6]; - u16 moves[4]; + u16 moves[MAX_MON_MOVES]; } const sStevenMons[3] = { { @@ -1561,7 +1561,7 @@ void PutNewBattleTowerRecord(struct EmeraldBattleTowerRecord *newRecordEm) for (i = 0; i < 5; i++) { k = 0; - for (j = 0; j < 4; j++) + for (j = 0; j < TRAINER_ID_LENGTH; j++) { if (gSaveBlock2Ptr->frontier.towerRecords[i].trainerId[j] != newRecord->trainerId[j]) break; @@ -3308,7 +3308,7 @@ bool32 RubyBattleTowerRecordToEmerald(struct RSBattleTowerRecord *src, struct Em for (i = 0; i < PLAYER_NAME_LENGTH + 1; i++) dst->name[i] = src->name[i]; - for (i = 0; i < 4; i++) + for (i = 0; i < TRAINER_ID_LENGTH; i++) dst->trainerId[i] = src->trainerId[i]; for (i = 0; i < 6; i++) dst->greeting[i] = src->greeting[i]; @@ -3357,7 +3357,7 @@ bool32 EmeraldBattleTowerRecordToRuby(struct EmeraldBattleTowerRecord *src, stru for (i = 0; i < PLAYER_NAME_LENGTH + 1; i++) dst->name[i] = src->name[i]; - for (i = 0; i < 4; i++) + for (i = 0; i < TRAINER_ID_LENGTH; i++) dst->trainerId[i] = src->trainerId[i]; for (i = 0; i < 6; i++) dst->greeting[i] = src->greeting[i]; diff --git a/src/battle_util.c b/src/battle_util.c index 03f1482da..4d3ad3c7c 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -1,30 +1,30 @@ #include "global.h" #include "battle.h" #include "battle_anim.h" -#include "constants/battle_script_commands.h" -#include "constants/abilities.h" -#include "constants/moves.h" -#include "constants/hold_effects.h" -#include "constants/battle_anim.h" #include "pokemon.h" -#include "constants/species.h" #include "item.h" -#include "constants/items.h" #include "util.h" -#include "constants/battle_move_effects.h" #include "battle_scripts.h" #include "random.h" #include "text.h" #include "string_util.h" #include "battle_message.h" -#include "constants/battle_string_ids.h" -#include "constants/weather.h" #include "battle_ai_script_commands.h" #include "battle_controllers.h" #include "event_data.h" #include "link.h" -#include "berry.h" #include "field_weather.h" +#include "constants/abilities.h" +#include "constants/battle_anim.h" +#include "constants/battle_move_effects.h" +#include "constants/battle_script_commands.h" +#include "constants/battle_string_ids.h" +#include "constants/berry.h" +#include "constants/hold_effects.h" +#include "constants/items.h" +#include "constants/moves.h" +#include "constants/species.h" +#include "constants/weather.h" // rom const data static const u16 sSoundMovesTable[] = diff --git a/src/berry.c b/src/berry.c index 49acb7d10..bbaa2b03b 100644 --- a/src/berry.c +++ b/src/berry.c @@ -11,6 +11,7 @@ #include "random.h" #include "string_util.h" #include "text.h" +#include "constants/berry.h" #include "constants/event_object_movement_constants.h" #include "constants/items.h" diff --git a/src/berry_blender.c b/src/berry_blender.c index 03764b2f8..911c3e545 100644 --- a/src/berry_blender.c +++ b/src/berry_blender.c @@ -36,6 +36,7 @@ #include "new_game.h" #include "save.h" #include "link.h" +#include "constants/berry.h" #include "constants/rgb.h" #define BLENDER_SCORE_BEST 0 diff --git a/src/berry_tag_screen.c b/src/berry_tag_screen.c index c3eac783d..10a45dc65 100644 --- a/src/berry_tag_screen.c +++ b/src/berry_tag_screen.c @@ -4,7 +4,6 @@ #include "decompress.h" #include "event_object_movement.h" #include "item_menu.h" -#include "constants/items.h" #include "item.h" #include "item_use.h" #include "main.h" @@ -15,7 +14,6 @@ #include "menu_helpers.h" #include "palette.h" #include "overworld.h" -#include "constants/songs.h" #include "sound.h" #include "sprite.h" #include "string_util.h" @@ -28,7 +26,10 @@ #include "item_menu_icons.h" #include "decompress.h" #include "international_string_util.h" +#include "constants/berry.h" +#include "constants/items.h" #include "constants/rgb.h" +#include "constants/songs.h" // There are 4 windows used in berry tag screen. enum diff --git a/src/contest.c b/src/contest.c index 662a27060..79c1616c2 100644 --- a/src/contest.c +++ b/src/contest.c @@ -1217,10 +1217,10 @@ static bool8 SetupContestGraphics(u8 *stateVar) CreateApplauseMeterSprite(); sub_80DC5E8(); sub_80DC7EC(); - gBattlerPositions[0] = 0; - gBattlerPositions[1] = 1; - gBattlerPositions[2] = 3; - gBattlerPositions[3] = 2; + gBattlerPositions[0] = B_POSITION_PLAYER_LEFT; + gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT; + gBattlerPositions[2] = B_POSITION_OPPONENT_RIGHT; + gBattlerPositions[3] = B_POSITION_PLAYER_RIGHT; gBattleTypeFlags = 0; gBattlerAttacker = 2; gBattlerTarget = 3; diff --git a/src/data/battle_frontier/trainer_hill.h b/src/data/battle_frontier/trainer_hill.h index 64d216e4b..54d49422a 100644 --- a/src/data/battle_frontier/trainer_hill.h +++ b/src/data/battle_frontier/trainer_hill.h @@ -1,4857 +1,5261 @@ #define TRAINER_HILL_OTID 0x10000000 +static const struct TrHillTag gUnknown_0862609C = { + .unkField_0 = 4, + .unused1 = 1, + .numFloors = 2, + .checksum = 0x0 +}; + +static const struct TrHillFloor gUnknown_0862609C_floors[] = { + [0] = { + .unk0 = 0, + .unk1 = 0, + .trainers = { + [0] = { + .name = __("シゲノブ$$$$ "), + .facilityClass = FACILITY_CLASS_YOUNGSTER, + .unused = 0x1, + .speechBefore = { EC_WORD_TRAINER, EC_WORD_MRS, EC_WORD_EXCL, EC_WORD_THEY_WERE, EC_WORD_OPPONENT, EC_WORD_CAN }, + .speechWin = { EC_WORD_TRAINER, EC_WORD_MRS, EC_WORD_WEAK, EC_WORD_OF, EC_WORD_WERE, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS }, + .speechLose = { EC_WORD_TRAINER, EC_WORD_MRS, EC_WORD_STRONG, EC_WORD_HEY_QUES, EC_WORD_EXCL, EC_WORD_EXCL }, + .speechAfter = { EC_WORD_FABULOUS, EC_WORD_CAN_T, EC_WORD_TRAINER, EC_WORD_MRS, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_EXCITING }, + .mons = { + [0] = { + .species = SPECIES_ZIGZAGOON, + .heldItem = ITEM_SITRUS_BERRY, + .moves = { MOVE_HEADBUTT, MOVE_PIN_MISSILE, MOVE_GROWL, MOVE_TAIL_WHIP }, + .level = 0, + .ppBonuses = 0x0, + .hpEV = 110, + .attackEV = 100, + .defenseEV = 100, + .speedEV = 100, + .spAttackEV = 0, + .spDefenseEV = 100, + .otId = 0x10000000, + .hpIV = 5, + .attackIV = 5, + .defenseIV = 5, + .speedIV = 5, + .spAttackIV = 5, + .spDefenseIV = 5, + .abilityNum = 0, + .personality = 0x80, + .nickname = __("ジグザグマ$$$$$$"), + .friendship = 255 + }, + [1] = { + .species = SPECIES_SHROOMISH, + .heldItem = ITEM_PECHA_BERRY, + .moves = { MOVE_MEGA_DRAIN, MOVE_LEECH_SEED, MOVE_POISON_POWDER, MOVE_GROWTH }, + .level = 0, + .ppBonuses = 0x0, + .hpEV = 120, + .attackEV = 0, + .defenseEV = 120, + .speedEV = 0, + .spAttackEV = 150, + .spDefenseEV = 120, + .otId = 0x10000000, + .hpIV = 5, + .attackIV = 5, + .defenseIV = 5, + .speedIV = 5, + .spAttackIV = 5, + .spDefenseIV = 5, + .abilityNum = 0, + .personality = 0x0, + .nickname = __("キノココ$$$$$$$"), + .friendship = 255 + }, + [2] = { + .species = SPECIES_SANDSHREW, + .heldItem = ITEM_QUICK_CLAW, + .moves = { MOVE_SCRATCH, MOVE_POISON_STING, MOVE_SAND_ATTACK, MOVE_SWIFT }, + .level = 0, + .ppBonuses = 0x0, + .hpEV = 110, + .attackEV = 100, + .defenseEV = 100, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 200, + .otId = 0x10000000, + .hpIV = 5, + .attackIV = 5, + .defenseIV = 5, + .speedIV = 5, + .spAttackIV = 5, + .spDefenseIV = 5, + .abilityNum = 0, + .personality = 0x80, + .nickname = __("サンド$$$$$$$$"), + .friendship = 255 + }, + [3] = NULL_BATTLE_TOWER_POKEMON, + [4] = NULL_BATTLE_TOWER_POKEMON, + [5] = NULL_BATTLE_TOWER_POKEMON + } + }, + [1] = { + .name = __("アカリ$$$$$ "), + .facilityClass = FACILITY_CLASS_PARASOL_LADY, + .unused = 0x1, + .speechBefore = { EC_WORD_SHE, EC_WORD_EVERY, EC_WORD_TYPE, EC_WORD_ADORE, EC_WORD_FOR, EC_WORD_EXCL }, + .speechWin = { EC_WORD_SURPRISE, EC_WORD_THESE, EC_WORD_WONDER, EC_WORD_GIGGLE, EC_WORD_ELLIPSIS, EC_WORD_EXCL }, + .speechLose = { EC_WORD_OH_QUES, EC_MOVE(EARTHQUAKE), EC_WORD_EXISTS, EC_WORD_OF, EC_WORD_WITHOUT, EC_WORD_EXCL }, + .speechAfter = { EC_WORD_YOU_RE, EC_WORD_PROBABLY, EC_WORD_END, EC_WORD_UNTIL, EC_WORD_GOING, EC_WORD_ANYWHERE }, + .mons = { + [0] = NULL_BATTLE_TOWER_POKEMON, + [1] = NULL_BATTLE_TOWER_POKEMON, + [2] = NULL_BATTLE_TOWER_POKEMON, + [3] = { + .species = SPECIES_WINGULL, + .heldItem = ITEM_CHERI_BERRY, + .moves = { MOVE_WATER_GUN, MOVE_WING_ATTACK, MOVE_GROWL, MOVE_SUPERSONIC }, + .level = 0, + .ppBonuses = 0x0, + .hpEV = 110, + .attackEV = 100, + .defenseEV = 100, + .speedEV = 0, + .spAttackEV = 100, + .spDefenseEV = 100, + .otId = 0x10000000, + .hpIV = 5, + .attackIV = 5, + .defenseIV = 5, + .speedIV = 5, + .spAttackIV = 5, + .spDefenseIV = 5, + .abilityNum = 0, + .personality = 0x0, + .nickname = __("キャモメ$$$$$$$"), + .friendship = 255 + }, + [4] = { + .species = SPECIES_NUMEL, + .heldItem = ITEM_FOCUS_BAND, + .moves = { MOVE_EMBER, MOVE_DIG, MOVE_TACKLE, MOVE_FOCUS_ENERGY }, + .level = 0, + .ppBonuses = 0x0, + .hpEV = 110, + .attackEV = 100, + .defenseEV = 100, + .speedEV = 0, + .spAttackEV = 100, + .spDefenseEV = 100, + .otId = 0x10000000, + .hpIV = 5, + .attackIV = 5, + .defenseIV = 5, + .speedIV = 5, + .spAttackIV = 5, + .spDefenseIV = 5, + .abilityNum = 0, + .personality = 0x96, + .nickname = __("ドンメル$$$$$$$"), + .friendship = 255 + }, + [5] = { + .species = SPECIES_SURSKIT, + .heldItem = ITEM_PERSIM_BERRY, + .moves = { MOVE_BUBBLE_BEAM, MOVE_MUD_SHOT, MOVE_QUICK_ATTACK, MOVE_AGILITY }, + .level = 0, + .ppBonuses = 0x0, + .hpEV = 100, + .attackEV = 100, + .defenseEV = 100, + .speedEV = 0, + .spAttackEV = 100, + .spDefenseEV = 100, + .otId = 0x10000000, + .hpIV = 5, + .attackIV = 5, + .defenseIV = 5, + .speedIV = 5, + .spAttackIV = 5, + .spDefenseIV = 5, + .abilityNum = 0, + .personality = 0x0, + .nickname = __("アメタマ$$$$$$$"), + .friendship = 255 + }, + } + }, + }, + .display = { + .data = { 0x31, 0x35, 0x35, 0x3b, 0x26, 0x26, 0x1b, 0x1c, 0x1d, 0x25, 0x39, 0x3a, 0x3b, 0x3b, 0x3b, 0x8, 0x31, 0x2b, 0x2b, 0x3b, 0x34, 0x34, 0x2b, 0x2b, 0x34, 0x33, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x8, 0x31, 0x2b, 0x2b, 0x3b, 0x3b, 0x3b, 0x34, 0x34, 0x3b, 0x33, 0x3f, 0x3f, 0x3f, 0x3b, 0x3b, 0x8, 0x31, 0x2b, 0x2b, 0x35, 0x35, 0x35, 0x35, 0x35, 0x3b, 0x33, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f, 0x8, 0x31, 0x2b, 0x34, 0x34, 0x34, 0x2b, 0x34, 0x34, 0x3b, 0x2c, 0x3f, 0x3f, 0x3f, 0x3b, 0x3b, 0x8, 0x31, 0x2b, 0x3b, 0x35, 0x3b, 0x2b, 0x3b, 0x35, 0x3b, 0x35, 0x3b, 0x3f, 0x3f, 0x3f, 0x3b, 0x8, 0x31, 0x2b, 0x3b, 0x2b, 0x3b, 0x2b, 0x3b, 0x2b, 0x3b, 0x2b, 0x3b, 0x3f, 0x3f, 0x3f, 0x3b, 0x8, 0x31, 0x34, 0x3b, 0x2b, 0x3b, 0x34, 0x3b, 0x2b, 0x35, 0x2b, 0x3b, 0x3b, 0x3f, 0x3b, 0x3b, 0x8, 0x31, 0x3b, 0x3b, 0x34, 0x3b, 0x3b, 0x3b, 0x34, 0x34, 0x34, 0x3f, 0x3b, 0x3b, 0x3b, 0x3f, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8 }, + .unk3A0 = { 0x381, 0x6fc1, 0x6341, 0x6041, 0x7f41, 0x4401, 0x5541, 0x5541, 0x11c1, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff }, + .coords = { 0x28, 0x78 }, + .direction = 0x1, + .range = 0x23 + } + }, + [1] = { + .unk0 = 0, + .unk1 = 0, + .trainers = { + [0] = { + .name = __("シゲゾウ$$$$ "), + .facilityClass = FACILITY_CLASS_NINJA_BOY, + .unused = 0x1, + .speechBefore = { EC_WORD_WIN, EC_WORD_UNTIL, EC_WORD_DAUGHTER, EC_MOVE(CONSTRICT), EC_WORD_OF, EC_WORD_WERE }, + .speechWin = { EC_MOVE(CONSTRICT), EC_WORD_UNTIL, EC_WORD_LESS, EC_WORD_NONE, EC_WORD_HEY_QUES, EC_WORD_EXCL }, + .speechLose = { EC_WORD_YET, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_URGH, EC_WORD_ALMOST, EC_WORD_POWER, EC_WORD_NONE }, + .speechAfter = { EC_WORD_HUH_QUES, EC_WORD_TOMORROW, EC_WORD_SMELL, EC_WORD_ABSOLUTELY, EC_WORD_THOSE, EC_WORD_EXCL_EXCL }, + .mons = { + [0] = { + .species = SPECIES_ELECTRIKE, + .heldItem = ITEM_CHERI_BERRY, + .moves = { MOVE_SPARK, MOVE_THUNDER_WAVE, MOVE_QUICK_ATTACK, MOVE_ROAR }, + .level = 0, + .ppBonuses = 0x0, + .hpEV = 120, + .attackEV = 120, + .defenseEV = 0, + .speedEV = 120, + .spAttackEV = 150, + .spDefenseEV = 0, + .otId = 0x10000000, + .hpIV = 5, + .attackIV = 5, + .defenseIV = 5, + .speedIV = 5, + .spAttackIV = 5, + .spDefenseIV = 5, + .abilityNum = 1, + .personality = 0x0, + .nickname = __("ラクライ$$$$$$$"), + .friendship = 255 + }, + [1] = { + .species = SPECIES_CORPHISH, + .heldItem = ITEM_QUICK_CLAW, + .moves = { MOVE_KNOCK_OFF, MOVE_CRABHAMMER, MOVE_TAUNT, MOVE_PROTECT }, + .level = 0, + .ppBonuses = 0x0, + .hpEV = 100, + .attackEV = 110, + .defenseEV = 100, + .speedEV = 0, + .spAttackEV = 100, + .spDefenseEV = 100, + .otId = 0x10000000, + .hpIV = 5, + .attackIV = 5, + .defenseIV = 5, + .speedIV = 5, + .spAttackIV = 5, + .spDefenseIV = 5, + .abilityNum = 1, + .personality = 0x96, + .nickname = __("ヘイガニ$$$$$$$"), + .friendship = 255 + }, + [2] = { + .species = SPECIES_BALTOY, + .heldItem = ITEM_PERSIM_BERRY, + .moves = { MOVE_PSYBEAM, MOVE_ROCK_TOMB, MOVE_MUD_SLAP, MOVE_HARDEN }, + .level = 0, + .ppBonuses = 0x0, + .hpEV = 100, + .attackEV = 100, + .defenseEV = 100, + .speedEV = 0, + .spAttackEV = 110, + .spDefenseEV = 100, + .otId = 0x10000000, + .hpIV = 5, + .attackIV = 5, + .defenseIV = 5, + .speedIV = 5, + .spAttackIV = 5, + .spDefenseIV = 5, + .abilityNum = 0, + .personality = 0x96, + .nickname = __("ヤジロン$$$$$$$"), + .friendship = 255 + }, + [3] = NULL_BATTLE_TOWER_POKEMON, + [4] = NULL_BATTLE_TOWER_POKEMON, + [5] = NULL_BATTLE_TOWER_POKEMON, + } + }, + [1] = { + .name = __("ナミコ$$$$$ "), + .facilityClass = FACILITY_CLASS_BEAUTY, + .unused = 0x1, + .speechBefore = { EC_WORD_SISTER, EC_WORD_ALTHOUGH, EC_WORD_KIND, EC_WORD_MATCH, EC_WORD_PLEASE, EC_WORD_WITHOUT }, + .speechWin = { EC_WORD_KIND, EC_WORD_ELLIPSIS, EC_WORD_INSTEAD, EC_WORD_DEEP, EC_WORD_WEAK, EC_WORD_QUES }, + .speechLose = { EC_WORD_AWFUL, EC_WORD_GWAH, EC_WORD_HOPELESS, EC_WORD_CAN_T_WIN, EC_WORD_IS, EC_WORD_NONE }, + .speechAfter = { EC_WORD_AWW, 0xFFFF, 0xFFFF, EC_WORD_ALMOST, EC_WORD_GOOD, EC_WORD_ANYWHERE }, + .mons = { + [0] = NULL_BATTLE_TOWER_POKEMON, + [1] = NULL_BATTLE_TOWER_POKEMON, + [2] = NULL_BATTLE_TOWER_POKEMON, + [3] = { + .species = SPECIES_SPHEAL, + .heldItem = ITEM_FOCUS_BAND, + .moves = { MOVE_ICE_BALL, MOVE_BODY_SLAM, MOVE_WATER_GUN, MOVE_ENCORE }, + .level = 0, + .ppBonuses = 0x0, + .hpEV = 100, + .attackEV = 100, + .defenseEV = 100, + .speedEV = 0, + .spAttackEV = 110, + .spDefenseEV = 100, + .otId = 0x10000000, + .hpIV = 5, + .attackIV = 5, + .defenseIV = 5, + .speedIV = 5, + .spAttackIV = 5, + .spDefenseIV = 5, + .abilityNum = 0, + .personality = 0x80, + .nickname = __("タマザラシ$$$$$$"), + .friendship = 255 + }, + [4] = { + .species = SPECIES_SPOINK, + .heldItem = ITEM_PERSIM_BERRY, + .moves = { MOVE_PSYWAVE, MOVE_FUTURE_SIGHT, MOVE_CONFUSE_RAY, MOVE_MAGIC_COAT }, + .level = 0, + .ppBonuses = 0x0, + .hpEV = 100, + .attackEV = 0, + .defenseEV = 100, + .speedEV = 100, + .spAttackEV = 110, + .spDefenseEV = 100, + .otId = 0x10000000, + .hpIV = 5, + .attackIV = 5, + .defenseIV = 5, + .speedIV = 5, + .spAttackIV = 5, + .spDefenseIV = 5, + .abilityNum = 1, + .personality = 0xf, + .nickname = __("バネブー$$$$$$$"), + .friendship = 255 + }, + [5] = { + .species = SPECIES_POOCHYENA, + .heldItem = ITEM_PECHA_BERRY, + .moves = { MOVE_BITE, MOVE_POISON_FANG, MOVE_SWAGGER, MOVE_SCARY_FACE }, + .level = 0, + .ppBonuses = 0x0, + .hpEV = 70, + .attackEV = 80, + .defenseEV = 80, + .speedEV = 80, + .spAttackEV = 80, + .spDefenseEV = 80, + .otId = 0x10000000, + .hpIV = 5, + .attackIV = 5, + .defenseIV = 5, + .speedIV = 5, + .spAttackIV = 5, + .spDefenseIV = 5, + .abilityNum = 0, + .personality = 0x96, + .nickname = __("ポチエナ$$$$$$$"), + .friendship = 255 + }, + } + }, + }, + .display = { + .data = { 0x31, 0x3b, 0x35, 0x3b, 0x39, 0x26, 0x1b, 0x1c, 0x1d, 0x25, 0x39, 0x3a, 0x3b, 0x35, 0x3b, 0x8, 0x31, 0x3b, 0x2b, 0x3b, 0x3b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3b, 0x3b, 0x3b, 0x2b, 0x3b, 0x8, 0x31, 0x3b, 0x2b, 0x3b, 0x3b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3e, 0x3e, 0x3b, 0x2b, 0x3b, 0x8, 0x31, 0x3b, 0x2b, 0x3b, 0x3b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3b, 0x3b, 0x3b, 0x2b, 0x3b, 0x8, 0x3f, 0x3b, 0x2b, 0x3b, 0x3b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3b, 0x3e, 0x3e, 0x2b, 0x3b, 0x8, 0x31, 0x3b, 0x2b, 0x3b, 0x3b, 0x2b, 0x2b, 0x2c, 0x2b, 0x2b, 0x3b, 0x3b, 0x3b, 0x2b, 0x3b, 0x8, 0x31, 0x3f, 0x2b, 0x3b, 0x3b, 0x2c, 0x2c, 0x3b, 0x2c, 0x2c, 0x3e, 0x3e, 0x3b, 0x2b, 0x3b, 0x8, 0x31, 0x3b, 0x2b, 0x35, 0x35, 0x35, 0x35, 0x3b, 0x35, 0x35, 0x35, 0x35, 0x35, 0x2b, 0x3b, 0x8, 0x3f, 0x3b, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x3b, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x3b, 0x8, 0x31, 0x3b, 0x3f, 0x3f, 0x3b, 0x35, 0x35, 0x3b, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x8, 0x31, 0x3f, 0x3f, 0x3f, 0x3b, 0x2b, 0x2b, 0x35, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x8, 0x31, 0x3f, 0x3f, 0x3b, 0x3b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x8, 0x31, 0x3b, 0x3b, 0x3b, 0x3f, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8 }, + .unk3A0 = { 0x381, 0x27c5, 0x27c5, 0x27c5, 0x27c5, 0x27c5, 0x26c5, 0x2005, 0x3efd, 0x1, 0x6ff, 0x7ff, 0x7ff, 0xffff, 0xffff, 0xffff }, + .coords = { 0x67, 0xa7 }, + .direction = 0x1, + .range = 0x33 + } + }, +}; + static const struct TrHillTag sDataTagNormal = { .unkField_0 = 8, .unused1 = 2, - .unkField_2 = 4, - .unused3 = 0, - .unused4 = 5, - .unused5 = 30, - .unused6 = 5, - .floors = + .numFloors = 4, + .checksum = 0x00051E05 +}; + +static const struct TrHillFloor sDataTagNormal_floors[] = +{ + [0] = { - [0] = + .unk0 = 0x11, + .unk1 = 0x12, + .trainers = { - .unk0 = 0x11, - .unk1 = 0x12, - .trainers = + [0] = { - [0] = + .name = _("ALAINA"), + .facilityClass = FACILITY_CLASS_HEX_MANIAC, + .unused = 0, + .speechBefore = {EC_WORD_YOU, EC_WORD_CAN, EC_WORD_CHOOSE, EC_WORD_NOT, EC_WORD_TO, EC_WORD_BELIEVE}, + .speechWin = {EC_WORD_A, EC_WORD_SUPER, EC_WORD_NATURAL, EC_WORD_POWER, EC_WORD_HAS, EC_WORD_COME}, + .speechLose = {EC_WORD_THIS, EC_WORD_MUST_BE, EC_WORD_A, EC_MOVE(NIGHTMARE), EC_WORD_EXCL, 0xFFFF}, + .speechAfter = {EC_WORD_I, EC_WORD_WILL, EC_WORD_DISAPPEAR, EC_WORD_IN, EC_WORD_THE, EC_WORD_DARK}, + .mons = { - .name = _("ALAINA"), - .facilityClass = FACILITY_CLASS_HEX_MANIAC, - .unused = 0, - .speechBefore = {EC_WORD_YOU, EC_WORD_CAN, EC_WORD_CHOOSE, EC_WORD_NOT, EC_WORD_TO, EC_WORD_BELIEVE}, - .speechWin = {EC_WORD_A, EC_WORD_SUPER, EC_WORD_NATURAL, EC_WORD_POWER, EC_WORD_HAS, EC_WORD_COME}, - .speechLose = {EC_WORD_THIS, EC_WORD_MUST_BE, EC_WORD_A, EC_MOVE(NIGHTMARE), EC_WORD_EXCL, 0xFFFF}, - .speechAfter = {EC_WORD_I, EC_WORD_WILL, EC_WORD_DISAPPEAR, EC_WORD_IN, EC_WORD_THE, EC_WORD_DARK}, - .mons = + [0] = { - [0] = - { - .species = SPECIES_MISDREAVUS, - .heldItem = ITEM_BRIGHT_POWDER, - .moves = {MOVE_SHADOW_BALL, MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_CONFUSE_RAY}, - .level = 0, - .ppBonuses = 0, - .attackEV = 155, - .speedEV = 255, - .spAttackEV = 100, - .otId = TRAINER_HILL_OTID, - .hpIV = 24, - .attackIV = 24, - .defenseIV = 24, - .speedIV = 24, - .spAttackIV = 24, - .spDefenseIV = 24, - .abilityNum = 0, - .personality = 0x0, - .nickname = _("MISDREAVUS"), - .friendship = 255, - }, - [1] = - { - .species = SPECIES_SOLROCK, - .heldItem = ITEM_FOCUS_BAND, - .moves = {MOVE_PSYCHIC, MOVE_FLAMETHROWER, MOVE_ROCK_SLIDE, MOVE_CALM_MIND}, - .level = 0, - .ppBonuses = 0, - .hpEV = 200, - .defenseEV = 100, - .spAttackEV = 110, - .spDefenseEV = 100, - .otId = TRAINER_HILL_OTID, - .hpIV = 24, - .attackIV = 24, - .defenseIV = 24, - .speedIV = 24, - .spAttackIV = 24, - .spDefenseIV = 24, - .abilityNum = 0, - .personality = 0xF, - .nickname = _("SOLROCK"), - .friendship = 255, - }, - [2] = - { - .species = SPECIES_CLAYDOL, - .heldItem = ITEM_SHELL_BELL, - .moves = {MOVE_EARTHQUAKE, MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_ICE_BEAM}, - .level = 0, - .ppBonuses = 0, - .hpEV = 255, - .defenseEV = 135, - .spDefenseEV = 120, - .otId = TRAINER_HILL_OTID, - .hpIV = 24, - .attackIV = 24, - .defenseIV = 24, - .speedIV = 24, - .spAttackIV = 24, - .spDefenseIV = 24, - .abilityNum = 0, - .personality = 0xC, - .nickname = _("CLAYDOL"), - .friendship = 255, - }, - [3] = - { - .species = SPECIES_WEEZING, - .heldItem = ITEM_SALAC_BERRY, - .moves = {MOVE_SLUDGE_BOMB, MOVE_SHADOW_BALL, MOVE_FRUSTRATION, MOVE_DESTINY_BOND}, - .level = 0, - .ppBonuses = 0, - .hpEV = 110, - .attackEV = 200, - .spDefenseEV = 200, - .otId = TRAINER_HILL_OTID, - .hpIV = 24, - .attackIV = 24, - .defenseIV = 24, - .speedIV = 24, - .spAttackIV = 24, - .spDefenseIV = 24, - .abilityNum = 0, - .personality = 0x80, - .nickname = _("WEEZING"), - .friendship = 0, - }, - [4] = - { - .species = SPECIES_LUNATONE, - .heldItem = ITEM_FOCUS_BAND, - .moves = {MOVE_PSYCHIC, MOVE_ICE_BEAM, MOVE_ROCK_SLIDE, MOVE_CALM_MIND}, - .level = 0, - .ppBonuses = 0, - .hpEV = 200, - .defenseEV = 100, - .spAttackEV = 110, - .spDefenseEV = 100, - .otId = TRAINER_HILL_OTID, - .hpIV = 24, - .attackIV = 24, - .defenseIV = 24, - .speedIV = 24, - .spAttackIV = 24, - .spDefenseIV = 24, - .abilityNum = 0, - .personality = 0xF, - .nickname = _("LUNATONE"), - .friendship = 255, - }, - [5] = - { - .species = SPECIES_FLYGON, - .heldItem = ITEM_CHOICE_BAND, - .moves = {MOVE_EARTHQUAKE, MOVE_DRAGON_CLAW, MOVE_CRUNCH, MOVE_FLAMETHROWER}, - .level = 0, - .ppBonuses = 0, - .attackEV = 155, - .speedEV = 255, - .spAttackEV = 100, - .otId = TRAINER_HILL_OTID, - .hpIV = 24, - .attackIV = 24, - .defenseIV = 24, - .speedIV = 24, - .spAttackIV = 24, - .spDefenseIV = 24, - .abilityNum = 0, - .personality = 0x83, - .nickname = _("FLYGON"), - .friendship = 255, - }, + .species = SPECIES_MISDREAVUS, + .heldItem = ITEM_BRIGHT_POWDER, + .moves = {MOVE_SHADOW_BALL, MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_CONFUSE_RAY}, + .level = 0, + .ppBonuses = 0, + .attackEV = 155, + .speedEV = 255, + .spAttackEV = 100, + .otId = TRAINER_HILL_OTID, + .hpIV = 24, + .attackIV = 24, + .defenseIV = 24, + .speedIV = 24, + .spAttackIV = 24, + .spDefenseIV = 24, + .abilityNum = 0, + .personality = 0x0, + .nickname = _("MISDREAVUS"), + .friendship = 255, + }, + [1] = + { + .species = SPECIES_SOLROCK, + .heldItem = ITEM_FOCUS_BAND, + .moves = {MOVE_PSYCHIC, MOVE_FLAMETHROWER, MOVE_ROCK_SLIDE, MOVE_CALM_MIND}, + .level = 0, + .ppBonuses = 0, + .hpEV = 200, + .defenseEV = 100, + .spAttackEV = 110, + .spDefenseEV = 100, + .otId = TRAINER_HILL_OTID, + .hpIV = 24, + .attackIV = 24, + .defenseIV = 24, + .speedIV = 24, + .spAttackIV = 24, + .spDefenseIV = 24, + .abilityNum = 0, + .personality = 0xF, + .nickname = _("SOLROCK"), + .friendship = 255, + }, + [2] = + { + .species = SPECIES_CLAYDOL, + .heldItem = ITEM_SHELL_BELL, + .moves = {MOVE_EARTHQUAKE, MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_ICE_BEAM}, + .level = 0, + .ppBonuses = 0, + .hpEV = 255, + .defenseEV = 135, + .spDefenseEV = 120, + .otId = TRAINER_HILL_OTID, + .hpIV = 24, + .attackIV = 24, + .defenseIV = 24, + .speedIV = 24, + .spAttackIV = 24, + .spDefenseIV = 24, + .abilityNum = 0, + .personality = 0xC, + .nickname = _("CLAYDOL"), + .friendship = 255, + }, + [3] = + { + .species = SPECIES_WEEZING, + .heldItem = ITEM_SALAC_BERRY, + .moves = {MOVE_SLUDGE_BOMB, MOVE_SHADOW_BALL, MOVE_FRUSTRATION, MOVE_DESTINY_BOND}, + .level = 0, + .ppBonuses = 0, + .hpEV = 110, + .attackEV = 200, + .spDefenseEV = 200, + .otId = TRAINER_HILL_OTID, + .hpIV = 24, + .attackIV = 24, + .defenseIV = 24, + .speedIV = 24, + .spAttackIV = 24, + .spDefenseIV = 24, + .abilityNum = 0, + .personality = 0x80, + .nickname = _("WEEZING"), + .friendship = 0, + }, + [4] = + { + .species = SPECIES_LUNATONE, + .heldItem = ITEM_FOCUS_BAND, + .moves = {MOVE_PSYCHIC, MOVE_ICE_BEAM, MOVE_ROCK_SLIDE, MOVE_CALM_MIND}, + .level = 0, + .ppBonuses = 0, + .hpEV = 200, + .defenseEV = 100, + .spAttackEV = 110, + .spDefenseEV = 100, + .otId = TRAINER_HILL_OTID, + .hpIV = 24, + .attackIV = 24, + .defenseIV = 24, + .speedIV = 24, + .spAttackIV = 24, + .spDefenseIV = 24, + .abilityNum = 0, + .personality = 0xF, + .nickname = _("LUNATONE"), + .friendship = 255, + }, + [5] = + { + .species = SPECIES_FLYGON, + .heldItem = ITEM_CHOICE_BAND, + .moves = {MOVE_EARTHQUAKE, MOVE_DRAGON_CLAW, MOVE_CRUNCH, MOVE_FLAMETHROWER}, + .level = 0, + .ppBonuses = 0, + .attackEV = 155, + .speedEV = 255, + .spAttackEV = 100, + .otId = TRAINER_HILL_OTID, + .hpIV = 24, + .attackIV = 24, + .defenseIV = 24, + .speedIV = 24, + .spAttackIV = 24, + .spDefenseIV = 24, + .abilityNum = 0, + .personality = 0x83, + .nickname = _("FLYGON"), + .friendship = 255, }, }, - [1] = + }, + [1] = + { + .name = _("ALFONSO"), + .facilityClass = FACILITY_CLASS_CYCLING_TRIATHLETE_M, + .unused = 0, + .speechBefore = {EC_WORD_I, EC_WORD_NEVER, EC_WORD_TAKE, EC_WORD_A, EC_WORD_TRAIN, 0xFFFF}, + .speechWin = {EC_WORD_I_AM, EC_WORD_FEELING, EC_MOVE2(SUPERSONIC), EC_WORD_ON, EC_WORD_MY, EC_WORD_BIKE}, + .speechLose = {EC_WORD_MY, EC_WORD_BIKE, EC_WORD_EXCL, EC_WORD_YOU_VE, EC_WORD_DESTROYED, EC_WORD_IT}, + .speechAfter = {EC_WORD_A, EC_WORD_BIKE, EC_WORD_OVER, EC_WORD_ANY, EC_WORD_TRAIN, EC_WORD_EXCL}, + .mons = { - .name = _("ALFONSO"), - .facilityClass = FACILITY_CLASS_CYCLING_TRIATHLETE_M, - .unused = 0, - .speechBefore = {EC_WORD_I, EC_WORD_NEVER, EC_WORD_TAKE, EC_WORD_A, EC_WORD_TRAIN, 0xFFFF}, - .speechWin = {EC_WORD_I_AM, EC_WORD_FEELING, EC_MOVE2(SUPERSONIC), EC_WORD_ON, EC_WORD_MY, EC_WORD_BIKE}, - .speechLose = {EC_WORD_MY, EC_WORD_BIKE, EC_WORD_EXCL, EC_WORD_YOU_VE, EC_WORD_DESTROYED, EC_WORD_IT}, - .speechAfter = {EC_WORD_A, EC_WORD_BIKE, EC_WORD_OVER, EC_WORD_ANY, EC_WORD_TRAIN, EC_WORD_EXCL}, - .mons = + [0] = { - [0] = - { - .species = SPECIES_SEALEO, - .heldItem = ITEM_NEVER_MELT_ICE, - .moves = {MOVE_BLIZZARD, MOVE_ICE_BALL, MOVE_ENCORE, MOVE_HAIL}, - .level = 0, - .ppBonuses = 0, - .hpEV = 255, - .spAttackEV = 255, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 0, - .personality = 0xF, - .nickname = _("SEALEO"), - .friendship = 255, - }, - [1] = - { - .species = SPECIES_AMPHAROS, - .heldItem = ITEM_MAGNET, - .moves = {MOVE_THUNDER, MOVE_THUNDER_WAVE, MOVE_COTTON_SPORE, MOVE_LIGHT_SCREEN}, - .level = 0, - .ppBonuses = 0, - .speedEV = 255, - .spAttackEV = 255, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 0, - .personality = 0xF, - .nickname = _("AMPHAROS"), - .friendship = 255, - }, - [2] = - { - .species = SPECIES_MACHOKE, - .heldItem = ITEM_BLACK_BELT, - .moves = {MOVE_DYNAMIC_PUNCH, MOVE_MUD_SLAP, MOVE_COUNTER, MOVE_SCARY_FACE}, - .level = 0, - .ppBonuses = 0, - .hpEV = 255, - .attackEV = 255, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 0, - .personality = 0x4E, - .nickname = _("MACHOKE"), - .friendship = 255, - }, - [3] = - { - .species = SPECIES_FLAREON, - .heldItem = ITEM_CHARCOAL, - .moves = {MOVE_FIRE_BLAST, MOVE_BITE, MOVE_QUICK_ATTACK, MOVE_SAND_ATTACK}, - .level = 0, - .ppBonuses = 0, - .speedEV = 255, - .spAttackEV = 255, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 0, - .personality = 0x28, - .nickname = _("FLAREON"), - .friendship = 255, - }, - [4] = - { - .species = SPECIES_MAGNETON, - .heldItem = ITEM_MAGNET, - .moves = {MOVE_ZAP_CANNON, MOVE_THUNDER_WAVE, MOVE_SCREECH, MOVE_METAL_SOUND}, - .level = 0, - .ppBonuses = 0, - .speedEV = 255, - .spAttackEV = 255, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 0, - .personality = 0x0, - .nickname = _("MAGNETON"), - .friendship = 255, - }, - [5] = - { - .species = SPECIES_PINSIR, - .heldItem = ITEM_QUICK_CLAW, - .moves = {MOVE_GUILLOTINE, MOVE_BRICK_BREAK, MOVE_SWAGGER, MOVE_FAINT_ATTACK}, - .level = 0, - .ppBonuses = 0, - .hpEV = 200, - .defenseEV = 155, - .spDefenseEV = 155, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 0, - .personality = 0x85, - .nickname = _("PINSIR"), - .friendship = 255, - }, + .species = SPECIES_SEALEO, + .heldItem = ITEM_NEVER_MELT_ICE, + .moves = {MOVE_BLIZZARD, MOVE_ICE_BALL, MOVE_ENCORE, MOVE_HAIL}, + .level = 0, + .ppBonuses = 0, + .hpEV = 255, + .spAttackEV = 255, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0xF, + .nickname = _("SEALEO"), + .friendship = 255, + }, + [1] = + { + .species = SPECIES_AMPHAROS, + .heldItem = ITEM_MAGNET, + .moves = {MOVE_THUNDER, MOVE_THUNDER_WAVE, MOVE_COTTON_SPORE, MOVE_LIGHT_SCREEN}, + .level = 0, + .ppBonuses = 0, + .speedEV = 255, + .spAttackEV = 255, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0xF, + .nickname = _("AMPHAROS"), + .friendship = 255, + }, + [2] = + { + .species = SPECIES_MACHOKE, + .heldItem = ITEM_BLACK_BELT, + .moves = {MOVE_DYNAMIC_PUNCH, MOVE_MUD_SLAP, MOVE_COUNTER, MOVE_SCARY_FACE}, + .level = 0, + .ppBonuses = 0, + .hpEV = 255, + .attackEV = 255, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x4E, + .nickname = _("MACHOKE"), + .friendship = 255, + }, + [3] = + { + .species = SPECIES_FLAREON, + .heldItem = ITEM_CHARCOAL, + .moves = {MOVE_FIRE_BLAST, MOVE_BITE, MOVE_QUICK_ATTACK, MOVE_SAND_ATTACK}, + .level = 0, + .ppBonuses = 0, + .speedEV = 255, + .spAttackEV = 255, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x28, + .nickname = _("FLAREON"), + .friendship = 255, + }, + [4] = + { + .species = SPECIES_MAGNETON, + .heldItem = ITEM_MAGNET, + .moves = {MOVE_ZAP_CANNON, MOVE_THUNDER_WAVE, MOVE_SCREECH, MOVE_METAL_SOUND}, + .level = 0, + .ppBonuses = 0, + .speedEV = 255, + .spAttackEV = 255, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x0, + .nickname = _("MAGNETON"), + .friendship = 255, + }, + [5] = + { + .species = SPECIES_PINSIR, + .heldItem = ITEM_QUICK_CLAW, + .moves = {MOVE_GUILLOTINE, MOVE_BRICK_BREAK, MOVE_SWAGGER, MOVE_FAINT_ATTACK}, + .level = 0, + .ppBonuses = 0, + .hpEV = 200, + .defenseEV = 155, + .spDefenseEV = 155, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x85, + .nickname = _("PINSIR"), + .friendship = 255, }, }, }, + }, + .display = { .data = {0x31, 0x3B, 0x35, 0x35, 0x26, 0x26, 0x1B, 0x1C, 0x1D, 0x25, 0x26, 0x3A, 0x3B, 0x35, 0x3B, 0x8, 0x31, 0x3B, 0x2C, 0x2C, 0x2C, 0x2B, 0x24, 0x24, 0x24, 0x24, 0x2C, 0x3B, 0x3B, 0x2C, 0x3B, 0x8, 0x2D, 0x3B, 0x3B, 0x3B, 0x3B, 0x2B, 0x3B, 0x3B, 0x3B, 0x3B, 0x35, 0x3B, 0x35, 0x35, 0x3B, 0x8, 0x33, 0x3B, 0x32, 0x21, 0x30, 0x2B, 0x3B, 0x32, 0x21, 0x30, 0x2B, 0x3B, 0x2C, 0x2B, 0x3B, 0x8, 0x33, 0x35, 0x3B, 0x3B, 0x3B, 0x2C, 0x35, 0x3B, 0x3B, 0x3B, 0x2B, 0x3B, 0x3B, 0x2B, 0x3B, 0x8, 0x34, 0x2C, 0x3B, 0x32, 0x21, 0x30, 0x2B, 0x32, 0x30, 0x3B, 0x2B, 0x32, 0x30, 0x2C, 0x3B, 0x8, 0x31, 0x35, 0x3B, 0x3B, 0x35, 0x3B, 0x2C, 0x3B, 0x3B, 0x35, 0x2C, 0x3B, 0x3B, 0x35, 0x35, 0x8, 0x31, 0x2C, 0x32, 0x30, 0x2B, 0x32, 0x30, 0x35, 0x3B, 0x2B, 0x32, 0x21, 0x30, 0x2C, 0x2C, 0x8, 0x31, 0x35, 0x3B, 0x3B, 0x2B, 0x3B, 0x3B, 0x2B, 0x3B, 0x2C, 0x3B, 0x35, 0x3B, 0x3B, 0x3B, 0x8, 0x31, 0x2C, 0x32, 0x30, 0x2B, 0x32, 0x30, 0x2B, 0x3B, 0x32, 0x30, 0x2B, 0x32, 0x30, 0x3B, 0x8, 0x31, 0x35, 0x35, 0x35, 0x2B, 0x3B, 0x3B, 0x2B, 0x3B, 0x3B, 0x35, 0x2B, 0x3B, 0x35, 0x35, 0x8, 0x31, 0x2B, 0x2C, 0x2C, 0x2C, 0x32, 0x30, 0x2B, 0x32, 0x30, 0x2C, 0x2C, 0x3B, 0x2C, 0x2C, 0x8, 0x31, 0x2B, 0x3B, 0x3B, 0x35, 0x3B, 0x3B, 0x2B, 0x3B, 0x3B, 0x35, 0x3B, 0x3B, 0x3B, 0x3B, 0x8, 0x31, 0x2C, 0x32, 0x30, 0x2B, 0x3B, 0x3B, 0x2C, 0x32, 0x30, 0x2C, 0x32, 0x30, 0x3B, 0x35, 0x8, 0x31, 0x3B, 0x3B, 0x3B, 0x2C, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, 0x2C, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8}, .unk3A0 = {0x381, 0x3FE5, 0x401, 0xBDED, 0x8425, 0xDFBD, 0x221, 0x7E7F, 0x941, 0x7F7D, 0x911, 0x7FF7, 0x4101, 0x79F9, 0x803, 0xFFFF}, .coords = {27, 45}, .direction = 0x21, .range = 0x21, - }, - [1] = + } + }, + [1] = + { + .unk0 = 0x13, + .unk1 = 0x14, + .trainers = { - .unk0 = 0x13, - .unk1 = 0x14, - .trainers = + [0] = { - [0] = + .name = _("THEODORE"), + .facilityClass = FACILITY_CLASS_BLACK_BELT, + .unused = 0, + .speechBefore = {EC_WORD_MY, EC_WORD_POWER, EC_WORD_WILL, EC_MOVE2(STOMP), EC_WORD_YOU, EC_WORD_EXCL}, + .speechWin = {EC_WORD_WAAAH, EC_WORD_HAHAHA, EC_WORD_EXCL, EC_WORD_WAAAH, EC_WORD_HAHAHA, EC_WORD_EXCL_EXCL}, + .speechLose = {EC_WORD_I, EC_WORD_WENT, EC_WORD_AT, EC_WORD_IT, EC_WORD_TOO, EC_WORD_HARD}, + .speechAfter = {EC_WORD_YES_SIR_EXCL, EC_WORD_YOU, EC_WORD_LOOK, EC_WORD_NICE, EC_WORD_AND, EC_WORD_GUTSY}, + .mons = { - .name = _("THEODORE"), - .facilityClass = FACILITY_CLASS_BLACK_BELT, - .unused = 0, - .speechBefore = {EC_WORD_MY, EC_WORD_POWER, EC_WORD_WILL, EC_MOVE2(STOMP), EC_WORD_YOU, EC_WORD_EXCL}, - .speechWin = {EC_WORD_WAAAH, EC_WORD_HAHAHA, EC_WORD_EXCL, EC_WORD_WAAAH, EC_WORD_HAHAHA, EC_WORD_EXCL_EXCL}, - .speechLose = {EC_WORD_I, EC_WORD_WENT, EC_WORD_AT, EC_WORD_IT, EC_WORD_TOO, EC_WORD_HARD}, - .speechAfter = {EC_WORD_YES_SIR_EXCL, EC_WORD_YOU, EC_WORD_LOOK, EC_WORD_NICE, EC_WORD_AND, EC_WORD_GUTSY}, - .mons = + [0] = { - [0] = - { - .species = SPECIES_MEDITITE, - .heldItem = ITEM_FOCUS_BAND, - .moves = {MOVE_FOCUS_PUNCH, MOVE_PROTECT, MOVE_NONE, MOVE_NONE}, - .level = 0, - .ppBonuses = 0, - .hpEV = 252, - .attackEV = 252, - .spDefenseEV = 6, - .otId = TRAINER_HILL_OTID, - .hpIV = 20, - .attackIV = 20, - .defenseIV = 20, - .speedIV = 20, - .spAttackIV = 20, - .spDefenseIV = 20, - .abilityNum = 0, - .personality = 0x80, - .nickname = _("MEDITITE"), - .friendship = 255, - }, - [1] = - { - .species = SPECIES_HERACROSS, - .heldItem = ITEM_FOCUS_BAND, - .moves = {MOVE_FOCUS_PUNCH, MOVE_PROTECT, MOVE_NONE, MOVE_NONE}, - .level = 0, - .ppBonuses = 0, - .hpEV = 252, - .attackEV = 252, - .spDefenseEV = 6, - .otId = TRAINER_HILL_OTID, - .hpIV = 20, - .attackIV = 20, - .defenseIV = 20, - .speedIV = 20, - .spAttackIV = 20, - .spDefenseIV = 20, - .abilityNum = 1, - .personality = 0x80, - .nickname = _("HERACROSS"), - .friendship = 255, - }, - [2] = - { - .species = SPECIES_HITMONTOP, - .heldItem = ITEM_SHELL_BELL, - .moves = {MOVE_FOCUS_PUNCH, MOVE_PROTECT, MOVE_NONE, MOVE_NONE}, - .level = 0, - .ppBonuses = 0, - .hpEV = 252, - .attackEV = 252, - .spDefenseEV = 6, - .otId = TRAINER_HILL_OTID, - .hpIV = 20, - .attackIV = 20, - .defenseIV = 20, - .speedIV = 20, - .spAttackIV = 20, - .spDefenseIV = 20, - .abilityNum = 0, - .personality = 0x3, - .nickname = _("HITMONTOP"), - .friendship = 255, - }, - [3] = - { - .species = SPECIES_MACHOP, - .heldItem = ITEM_SALAC_BERRY, - .moves = {MOVE_FOCUS_PUNCH, MOVE_REVENGE, MOVE_NONE, MOVE_NONE}, - .level = 0, - .ppBonuses = 0, - .hpEV = 252, - .attackEV = 252, - .spDefenseEV = 6, - .otId = TRAINER_HILL_OTID, - .hpIV = 20, - .attackIV = 20, - .defenseIV = 20, - .speedIV = 20, - .spAttackIV = 20, - .spDefenseIV = 20, - .abilityNum = 0, - .personality = 0x4E, - .nickname = _("MACHOP"), - .friendship = 255, - }, - [4] = - { - .species = SPECIES_PINSIR, - .heldItem = ITEM_SALAC_BERRY, - .moves = {MOVE_FOCUS_PUNCH, MOVE_REVENGE, MOVE_NONE, MOVE_NONE}, - .level = 0, - .ppBonuses = 0, - .hpEV = 252, - .attackEV = 252, - .spDefenseEV = 6, - .otId = TRAINER_HILL_OTID, - .hpIV = 20, - .attackIV = 20, - .defenseIV = 20, - .speedIV = 20, - .spAttackIV = 20, - .spDefenseIV = 20, - .abilityNum = 0, - .personality = 0x80, - .nickname = _("PINSIR"), - .friendship = 255, - }, - [5] = - { - .species = SPECIES_HITMONCHAN, - .heldItem = ITEM_FOCUS_BAND, - .moves = {MOVE_FOCUS_PUNCH, MOVE_REVENGE, MOVE_NONE, MOVE_NONE}, - .level = 0, - .ppBonuses = 0, - .hpEV = 252, - .attackEV = 252, - .spDefenseEV = 6, - .otId = TRAINER_HILL_OTID, - .hpIV = 20, - .attackIV = 20, - .defenseIV = 20, - .speedIV = 20, - .spAttackIV = 20, - .spDefenseIV = 20, - .abilityNum = 0, - .personality = 0x3, - .nickname = _("HITMONCHAN"), - .friendship = 255, - }, + .species = SPECIES_MEDITITE, + .heldItem = ITEM_FOCUS_BAND, + .moves = {MOVE_FOCUS_PUNCH, MOVE_PROTECT, MOVE_NONE, MOVE_NONE}, + .level = 0, + .ppBonuses = 0, + .hpEV = 252, + .attackEV = 252, + .spDefenseEV = 6, + .otId = TRAINER_HILL_OTID, + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x80, + .nickname = _("MEDITITE"), + .friendship = 255, + }, + [1] = + { + .species = SPECIES_HERACROSS, + .heldItem = ITEM_FOCUS_BAND, + .moves = {MOVE_FOCUS_PUNCH, MOVE_PROTECT, MOVE_NONE, MOVE_NONE}, + .level = 0, + .ppBonuses = 0, + .hpEV = 252, + .attackEV = 252, + .spDefenseEV = 6, + .otId = TRAINER_HILL_OTID, + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 1, + .personality = 0x80, + .nickname = _("HERACROSS"), + .friendship = 255, + }, + [2] = + { + .species = SPECIES_HITMONTOP, + .heldItem = ITEM_SHELL_BELL, + .moves = {MOVE_FOCUS_PUNCH, MOVE_PROTECT, MOVE_NONE, MOVE_NONE}, + .level = 0, + .ppBonuses = 0, + .hpEV = 252, + .attackEV = 252, + .spDefenseEV = 6, + .otId = TRAINER_HILL_OTID, + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x3, + .nickname = _("HITMONTOP"), + .friendship = 255, + }, + [3] = + { + .species = SPECIES_MACHOP, + .heldItem = ITEM_SALAC_BERRY, + .moves = {MOVE_FOCUS_PUNCH, MOVE_REVENGE, MOVE_NONE, MOVE_NONE}, + .level = 0, + .ppBonuses = 0, + .hpEV = 252, + .attackEV = 252, + .spDefenseEV = 6, + .otId = TRAINER_HILL_OTID, + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x4E, + .nickname = _("MACHOP"), + .friendship = 255, + }, + [4] = + { + .species = SPECIES_PINSIR, + .heldItem = ITEM_SALAC_BERRY, + .moves = {MOVE_FOCUS_PUNCH, MOVE_REVENGE, MOVE_NONE, MOVE_NONE}, + .level = 0, + .ppBonuses = 0, + .hpEV = 252, + .attackEV = 252, + .spDefenseEV = 6, + .otId = TRAINER_HILL_OTID, + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x80, + .nickname = _("PINSIR"), + .friendship = 255, + }, + [5] = + { + .species = SPECIES_HITMONCHAN, + .heldItem = ITEM_FOCUS_BAND, + .moves = {MOVE_FOCUS_PUNCH, MOVE_REVENGE, MOVE_NONE, MOVE_NONE}, + .level = 0, + .ppBonuses = 0, + .hpEV = 252, + .attackEV = 252, + .spDefenseEV = 6, + .otId = TRAINER_HILL_OTID, + .hpIV = 20, + .attackIV = 20, + .defenseIV = 20, + .speedIV = 20, + .spAttackIV = 20, + .spDefenseIV = 20, + .abilityNum = 0, + .personality = 0x3, + .nickname = _("HITMONCHAN"), + .friendship = 255, }, }, - [1] = + }, + [1] = + { + .name = _("JAYDEN"), + .facilityClass = FACILITY_CLASS_POKEMON_BREEDER_F, + .unused = 0, + .speechBefore = {EC_WORD_SOME, EC_WORD_THINGS, EC_WORD_YOU, EC_WORD_CAN_T, EC_WORD_DO, EC_WORD_ALONE}, + .speechWin = {EC_WORD_YOU, EC_WORD_WIN, EC_WORD_AS, EC_WORD_A, EC_WORD_GROUP, 0xFFFF}, + .speechLose = {EC_WORD_WE, EC_WORD_COULDN_T, EC_WORD_WIN, EC_WORD_TOGETHER, EC_WORD_QUES, 0xFFFF}, + .speechAfter = {EC_WORD_MAYBE, EC_WORD_I, EC_WORD_NEED, EC_WORD_A, EC_WORD_BOY, EC_WORD_FRIEND}, + .mons = { - .name = _("JAYDEN"), - .facilityClass = FACILITY_CLASS_POKEMON_BREEDER_F, - .unused = 0, - .speechBefore = {EC_WORD_SOME, EC_WORD_THINGS, EC_WORD_YOU, EC_WORD_CAN_T, EC_WORD_DO, EC_WORD_ALONE}, - .speechWin = {EC_WORD_YOU, EC_WORD_WIN, EC_WORD_AS, EC_WORD_A, EC_WORD_GROUP, 0xFFFF}, - .speechLose = {EC_WORD_WE, EC_WORD_COULDN_T, EC_WORD_WIN, EC_WORD_TOGETHER, EC_WORD_QUES, 0xFFFF}, - .speechAfter = {EC_WORD_MAYBE, EC_WORD_I, EC_WORD_NEED, EC_WORD_A, EC_WORD_BOY, EC_WORD_FRIEND}, - .mons = + [0] = { - [0] = - { - .species = SPECIES_VULPIX, - .heldItem = ITEM_LUM_BERRY, - .moves = {MOVE_WILL_O_WISP, MOVE_CONFUSE_RAY, MOVE_TAIL_WHIP, MOVE_OVERHEAT}, - .level = 0, - .ppBonuses = 0, - .hpEV = 252, - .defenseEV = 252, - .spDefenseEV = 6, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 0, - .personality = 0xF, - .nickname = _("VULPIX"), - .friendship = 255, - }, - [1] = - { - .species = SPECIES_MINUN, - .heldItem = ITEM_FOCUS_BAND, - .moves = {MOVE_THUNDER_WAVE, MOVE_CHARM, MOVE_ENCORE, MOVE_SPARK}, - .level = 0, - .ppBonuses = 0, - .hpEV = 252, - .defenseEV = 252, - .spAttackEV = 6, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 0, - .personality = 0x8C, - .nickname = _("MINUN"), - .friendship = 255, - }, - [2] = - { - .species = SPECIES_ROSELIA, - .heldItem = ITEM_LUM_BERRY, - .moves = {MOVE_TOXIC, MOVE_LEECH_SEED, MOVE_SWEET_SCENT, MOVE_GIGA_DRAIN}, - .level = 0, - .ppBonuses = 0, - .hpEV = 252, - .defenseEV = 252, - .spAttackEV = 6, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 1, - .personality = 0xF, - .nickname = _("ROSELIA"), - .friendship = 255, - }, - [3] = - { - .species = SPECIES_MR_MIME, - .heldItem = ITEM_SITRUS_BERRY, - .moves = {MOVE_SAFEGUARD, MOVE_REFLECT, MOVE_LIGHT_SCREEN, MOVE_PSYCHIC}, - .level = 0, - .ppBonuses = 0, - .hpEV = 252, - .defenseEV = 252, - .spDefenseEV = 6, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 0, - .personality = 0x82, - .nickname = _("MR. MIME"), - .friendship = 255, - }, - [4] = - { - .species = SPECIES_PLUSLE, - .heldItem = ITEM_SITRUS_BERRY, - .moves = {MOVE_RAIN_DANCE, MOVE_LIGHT_SCREEN, MOVE_HELPING_HAND, MOVE_THUNDER}, - .level = 0, - .ppBonuses = 0, - .hpEV = 252, - .defenseEV = 252, - .spDefenseEV = 6, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 0, - .personality = 0x5, - .nickname = _("PLUSLE"), - .friendship = 255, - }, - [5] = - { - .species = SPECIES_TOGEPI, - .heldItem = ITEM_SITRUS_BERRY, - .moves = {MOVE_LIGHT_SCREEN, MOVE_REFLECT, MOVE_FOLLOW_ME, MOVE_METRONOME}, - .level = 0, - .ppBonuses = 0, - .hpEV = 252, - .defenseEV = 252, - .spDefenseEV = 6, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 1, - .personality = 0x37, - .nickname = _("TOGEPI"), - .friendship = 255, - }, + .species = SPECIES_VULPIX, + .heldItem = ITEM_LUM_BERRY, + .moves = {MOVE_WILL_O_WISP, MOVE_CONFUSE_RAY, MOVE_TAIL_WHIP, MOVE_OVERHEAT}, + .level = 0, + .ppBonuses = 0, + .hpEV = 252, + .defenseEV = 252, + .spDefenseEV = 6, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0xF, + .nickname = _("VULPIX"), + .friendship = 255, + }, + [1] = + { + .species = SPECIES_MINUN, + .heldItem = ITEM_FOCUS_BAND, + .moves = {MOVE_THUNDER_WAVE, MOVE_CHARM, MOVE_ENCORE, MOVE_SPARK}, + .level = 0, + .ppBonuses = 0, + .hpEV = 252, + .defenseEV = 252, + .spAttackEV = 6, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x8C, + .nickname = _("MINUN"), + .friendship = 255, + }, + [2] = + { + .species = SPECIES_ROSELIA, + .heldItem = ITEM_LUM_BERRY, + .moves = {MOVE_TOXIC, MOVE_LEECH_SEED, MOVE_SWEET_SCENT, MOVE_GIGA_DRAIN}, + .level = 0, + .ppBonuses = 0, + .hpEV = 252, + .defenseEV = 252, + .spAttackEV = 6, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 1, + .personality = 0xF, + .nickname = _("ROSELIA"), + .friendship = 255, + }, + [3] = + { + .species = SPECIES_MR_MIME, + .heldItem = ITEM_SITRUS_BERRY, + .moves = {MOVE_SAFEGUARD, MOVE_REFLECT, MOVE_LIGHT_SCREEN, MOVE_PSYCHIC}, + .level = 0, + .ppBonuses = 0, + .hpEV = 252, + .defenseEV = 252, + .spDefenseEV = 6, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x82, + .nickname = _("MR. MIME"), + .friendship = 255, + }, + [4] = + { + .species = SPECIES_PLUSLE, + .heldItem = ITEM_SITRUS_BERRY, + .moves = {MOVE_RAIN_DANCE, MOVE_LIGHT_SCREEN, MOVE_HELPING_HAND, MOVE_THUNDER}, + .level = 0, + .ppBonuses = 0, + .hpEV = 252, + .defenseEV = 252, + .spDefenseEV = 6, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x5, + .nickname = _("PLUSLE"), + .friendship = 255, + }, + [5] = + { + .species = SPECIES_TOGEPI, + .heldItem = ITEM_SITRUS_BERRY, + .moves = {MOVE_LIGHT_SCREEN, MOVE_REFLECT, MOVE_FOLLOW_ME, MOVE_METRONOME}, + .level = 0, + .ppBonuses = 0, + .hpEV = 252, + .defenseEV = 252, + .spDefenseEV = 6, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 1, + .personality = 0x37, + .nickname = _("TOGEPI"), + .friendship = 255, }, }, }, + }, + .display = { .data = {0xD1, 0xD5, 0xD5, 0xD5, 0xD9, 0xD9, 0x1B, 0x1C, 0x1D, 0xC5, 0xC6, 0xCE, 0xD5, 0xDB, 0xD5, 0x8, 0xD1, 0xCB, 0xC4, 0xC4, 0xDB, 0xDB, 0xC4, 0xC4, 0xC4, 0xCC, 0xCC, 0xCC, 0xCB, 0xDB, 0xCB, 0x8, 0xD1, 0xCB, 0xDB, 0xDB, 0x17, 0x17, 0x17, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xCB, 0xDB, 0xCB, 0x8, 0xD1, 0xCB, 0xDB, 0xD5, 0x17, 0x17, 0x17, 0xD5, 0xD5, 0xD5, 0xD5, 0xDF, 0xCB, 0xDB, 0xCB, 0x8, 0xD1, 0xCB, 0xDB, 0xCB, 0x17, 0x17, 0x1F, 0xCB, 0xCB, 0xC4, 0xC4, 0xDB, 0xCB, 0xDB, 0xCB, 0x8, 0xD1, 0xCB, 0xDB, 0xCB, 0xDB, 0xDB, 0xC4, 0xCB, 0xCB, 0xDF, 0xD5, 0xD5, 0xCB, 0xDB, 0xCB, 0x8, 0xD1, 0xCB, 0xDB, 0xCB, 0xDB, 0xDB, 0xDB, 0xCB, 0xCB, 0xDB, 0xC4, 0xC4, 0xCB, 0xDB, 0xCB, 0x8, 0xD1, 0xCB, 0xDB, 0xCB, 0xDB, 0xDB, 0xDB, 0xCB, 0xCB, 0xD5, 0xD5, 0xDF, 0xCB, 0xDB, 0xCB, 0x8, 0xD1, 0xCB, 0xDB, 0xCB, 0xDB, 0xDB, 0xDB, 0xCB, 0xCB, 0xC4, 0xC4, 0xDB, 0xCB, 0xDB, 0xCB, 0x8, 0xD1, 0xCB, 0xDB, 0xCB, 0xDB, 0xDB, 0xDB, 0xCB, 0xCB, 0xDF, 0xD5, 0xD5, 0xCB, 0xDB, 0xCB, 0x8, 0xD1, 0xCB, 0xDB, 0xCB, 0xDB, 0xDB, 0xDB, 0xC4, 0xC4, 0xDB, 0xC4, 0xC4, 0xC4, 0xDB, 0xCB, 0x8, 0xD1, 0xCB, 0xDB, 0xCB, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0xDB, 0xD5, 0xD5, 0xD5, 0xCB, 0x8, 0xD1, 0xC4, 0xDB, 0xCB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0x9B, 0xDB, 0xCB, 0xCB, 0xCB, 0xCB, 0x8, 0xD1, 0xDB, 0xDB, 0xCB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0x9B, 0xDB, 0xCB, 0xCB, 0xCB, 0xCB, 0x8, 0xD1, 0xDB, 0xDB, 0xC4, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0x9B, 0xDB, 0xC4, 0xC4, 0xC4, 0xC4, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8}, .unk3A0 = {0x381, 0x73FB, 0x400B, 0x400B, 0x51EB, 0x538B, 0x51BB, 0x518B, 0x51EB, 0x518B, 0x51BB, 0x5003, 0x501F, 0x101F, 0x101F, 0xFFFF}, .coords = {180, 233}, .direction = 0x3, .range = 0x35, - }, - [2] = + } + }, + [2] = + { + .unk0 = 0x15, + .unk1 = 0x16, + .trainers = { - .unk0 = 0x15, - .unk1 = 0x16, - .trainers = + [0] = { - [0] = + .name = _("SALVADORE"), + .facilityClass = FACILITY_CLASS_PKMN_BREEDER_M, + .unused = 0, + .speechBefore = {EC_WORD_LET_S, EC_MOVE2(WRAP), EC_WORD_THINGS, EC_WORD_UP, EC_WORD_HERE, EC_WORD_HEY_QUES}, + .speechWin = {EC_WORD_WOULD, EC_WORD_YOU, EC_WORD_LIKE, EC_WORD_TO, EC_WORD_GO_HOME, EC_WORD_QUES}, + .speechLose = {EC_WORD_I, EC_WORD_WILL, EC_WORD_MAKE, EC_WORD_YOU, EC_WORD_SORRY, EC_WORD_FRIEND}, + .speechAfter = {EC_WORD_HAVEN_T, EC_WORD_YOU, EC_WORD_DONE, EC_WORD_ENOUGH, EC_WORD_QUES, 0xFFFF}, + .mons = { - .name = _("SALVADORE"), - .facilityClass = FACILITY_CLASS_PKMN_BREEDER_M, - .unused = 0, - .speechBefore = {EC_WORD_LET_S, EC_MOVE2(WRAP), EC_WORD_THINGS, EC_WORD_UP, EC_WORD_HERE, EC_WORD_HEY_QUES}, - .speechWin = {EC_WORD_WOULD, EC_WORD_YOU, EC_WORD_LIKE, EC_WORD_TO, EC_WORD_GO_HOME, EC_WORD_QUES}, - .speechLose = {EC_WORD_I, EC_WORD_WILL, EC_WORD_MAKE, EC_WORD_YOU, EC_WORD_SORRY, EC_WORD_FRIEND}, - .speechAfter = {EC_WORD_HAVEN_T, EC_WORD_YOU, EC_WORD_DONE, EC_WORD_ENOUGH, EC_WORD_QUES, 0xFFFF}, - .mons = + [0] = { - [0] = - { - .species = SPECIES_VAPOREON, - .heldItem = ITEM_FOCUS_BAND, - .moves = {MOVE_HAZE, MOVE_HELPING_HAND, MOVE_TICKLE, MOVE_WATER_PULSE}, - .level = 0, - .ppBonuses = 0, - .hpEV = 250, - .defenseEV = 130, - .spDefenseEV = 130, - .otId = TRAINER_HILL_OTID, - .hpIV = 20, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 0, - .personality = 0x37, - .nickname = _("VAPOREON"), - .friendship = 0, - }, - [1] = - { - .species = SPECIES_DODRIO, - .heldItem = ITEM_KINGS_ROCK, - .moves = {MOVE_HAZE, MOVE_TRI_ATTACK, MOVE_TAUNT, MOVE_TORMENT}, - .level = 0, - .ppBonuses = 0, - .hpEV = 252, - .speedEV = 252, - .spDefenseEV = 6, - .otId = TRAINER_HILL_OTID, - .hpIV = 20, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 1, - .personality = 0x8A, - .nickname = _("DODRIO"), - .friendship = 0, - }, - [2] = - { - .species = SPECIES_OMASTAR, - .heldItem = ITEM_QUICK_CLAW, - .moves = {MOVE_HAZE, MOVE_HYDRO_PUMP, MOVE_TICKLE, MOVE_ATTRACT}, - .level = 0, - .ppBonuses = 0, - .hpEV = 250, - .defenseEV = 130, - .spDefenseEV = 130, - .otId = TRAINER_HILL_OTID, - .hpIV = 20, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 0, - .personality = 0x14, - .nickname = _("OMASTAR"), - .friendship = 255, - }, - [3] = - { - .species = SPECIES_LICKITUNG, - .heldItem = ITEM_CHESTO_BERRY, - .moves = {MOVE_BELLY_DRUM, MOVE_REST, MOVE_MUD_SLAP, MOVE_SWAGGER}, - .level = 0, - .ppBonuses = 0, - .hpEV = 250, - .defenseEV = 130, - .spDefenseEV = 130, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 0, - .personality = 0x8, - .nickname = _("LICKITUNG"), - .friendship = 255, - }, - [4] = - { - .species = SPECIES_SLOWBRO, - .heldItem = ITEM_LEFTOVERS, - .moves = {MOVE_BELLY_DRUM, MOVE_MUD_SLAP, MOVE_SWAGGER, MOVE_AMNESIA}, - .level = 0, - .ppBonuses = 0, - .hpEV = 250, - .defenseEV = 130, - .spDefenseEV = 130, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 1, - .personality = 0x94, - .nickname = _("SLOWBRO"), - .friendship = 0, - }, - [5] = - { - .species = SPECIES_LINOONE, - .heldItem = ITEM_LUM_BERRY, - .moves = {MOVE_BELLY_DRUM, MOVE_REST, MOVE_MUD_SLAP, MOVE_SWAGGER}, - .level = 0, - .ppBonuses = 0, - .hpEV = 250, - .defenseEV = 130, - .spDefenseEV = 130, - .otId = TRAINER_HILL_OTID, - .hpIV = 20, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 0, - .personality = 0x8, - .nickname = _("LINOONE"), - .friendship = 255, - }, + .species = SPECIES_VAPOREON, + .heldItem = ITEM_FOCUS_BAND, + .moves = {MOVE_HAZE, MOVE_HELPING_HAND, MOVE_TICKLE, MOVE_WATER_PULSE}, + .level = 0, + .ppBonuses = 0, + .hpEV = 250, + .defenseEV = 130, + .spDefenseEV = 130, + .otId = TRAINER_HILL_OTID, + .hpIV = 20, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x37, + .nickname = _("VAPOREON"), + .friendship = 0, + }, + [1] = + { + .species = SPECIES_DODRIO, + .heldItem = ITEM_KINGS_ROCK, + .moves = {MOVE_HAZE, MOVE_TRI_ATTACK, MOVE_TAUNT, MOVE_TORMENT}, + .level = 0, + .ppBonuses = 0, + .hpEV = 252, + .speedEV = 252, + .spDefenseEV = 6, + .otId = TRAINER_HILL_OTID, + .hpIV = 20, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 1, + .personality = 0x8A, + .nickname = _("DODRIO"), + .friendship = 0, + }, + [2] = + { + .species = SPECIES_OMASTAR, + .heldItem = ITEM_QUICK_CLAW, + .moves = {MOVE_HAZE, MOVE_HYDRO_PUMP, MOVE_TICKLE, MOVE_ATTRACT}, + .level = 0, + .ppBonuses = 0, + .hpEV = 250, + .defenseEV = 130, + .spDefenseEV = 130, + .otId = TRAINER_HILL_OTID, + .hpIV = 20, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x14, + .nickname = _("OMASTAR"), + .friendship = 255, + }, + [3] = + { + .species = SPECIES_LICKITUNG, + .heldItem = ITEM_CHESTO_BERRY, + .moves = {MOVE_BELLY_DRUM, MOVE_REST, MOVE_MUD_SLAP, MOVE_SWAGGER}, + .level = 0, + .ppBonuses = 0, + .hpEV = 250, + .defenseEV = 130, + .spDefenseEV = 130, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x8, + .nickname = _("LICKITUNG"), + .friendship = 255, + }, + [4] = + { + .species = SPECIES_SLOWBRO, + .heldItem = ITEM_LEFTOVERS, + .moves = {MOVE_BELLY_DRUM, MOVE_MUD_SLAP, MOVE_SWAGGER, MOVE_AMNESIA}, + .level = 0, + .ppBonuses = 0, + .hpEV = 250, + .defenseEV = 130, + .spDefenseEV = 130, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 1, + .personality = 0x94, + .nickname = _("SLOWBRO"), + .friendship = 0, + }, + [5] = + { + .species = SPECIES_LINOONE, + .heldItem = ITEM_LUM_BERRY, + .moves = {MOVE_BELLY_DRUM, MOVE_REST, MOVE_MUD_SLAP, MOVE_SWAGGER}, + .level = 0, + .ppBonuses = 0, + .hpEV = 250, + .defenseEV = 130, + .spDefenseEV = 130, + .otId = TRAINER_HILL_OTID, + .hpIV = 20, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x8, + .nickname = _("LINOONE"), + .friendship = 255, }, }, - [1] = + }, + [1] = + { + .name = _("VERONICA"), + .facilityClass = FACILITY_CLASS_POKEMON_BREEDER_F, + .unused = 0, + .speechBefore = {EC_WORD_I_AM, EC_WORD_THE, EC_WORD_STRONG, EC_WORD_BEAUTY, EC_WORD_AROUND, EC_WORD_HERE}, + .speechWin = {EC_WORD_I_AM, EC_WORD_STRONG, EC_WORD_THAT_S, EC_WORD_WHY, EC_WORD_EXCL, 0xFFFF}, + .speechLose = {EC_WORD_I_AM, EC_WORD_TIRED, EC_WORD_TODAY, EC_WORD_THAT_S, EC_WORD_WHY, EC_WORD_EXCL}, + .speechAfter = {EC_WORD_WHY, EC_WORD_YES, EC_WORD_I_AM, EC_WORD_ANGRY, EC_WORD_THANK_YOU, EC_WORD_EXCL}, + .mons = { - .name = _("VERONICA"), - .facilityClass = FACILITY_CLASS_POKEMON_BREEDER_F, - .unused = 0, - .speechBefore = {EC_WORD_I_AM, EC_WORD_THE, EC_WORD_STRONG, EC_WORD_BEAUTY, EC_WORD_AROUND, EC_WORD_HERE}, - .speechWin = {EC_WORD_I_AM, EC_WORD_STRONG, EC_WORD_THAT_S, EC_WORD_WHY, EC_WORD_EXCL, 0xFFFF}, - .speechLose = {EC_WORD_I_AM, EC_WORD_TIRED, EC_WORD_TODAY, EC_WORD_THAT_S, EC_WORD_WHY, EC_WORD_EXCL}, - .speechAfter = {EC_WORD_WHY, EC_WORD_YES, EC_WORD_I_AM, EC_WORD_ANGRY, EC_WORD_THANK_YOU, EC_WORD_EXCL}, - .mons = + [0] = { - [0] = - { - .species = SPECIES_SKITTY, - .heldItem = ITEM_FOCUS_BAND, - .moves = {MOVE_PSYCH_UP, MOVE_DOUBLE_EDGE, MOVE_SHADOW_BALL, MOVE_IRON_TAIL}, - .level = 0, - .ppBonuses = 0, - .attackEV = 252, - .speedEV = 252, - .otId = TRAINER_HILL_OTID, - .hpIV = 31, - .attackIV = 31, - .defenseIV = 31, - .speedIV = 31, - .spAttackIV = 31, - .spDefenseIV = 31, - .abilityNum = 0, - .personality = 0xCB, - .nickname = _("SKITTY"), - .friendship = 255, - }, - [1] = - { - .species = SPECIES_MEDICHAM, - .heldItem = ITEM_QUICK_CLAW, - .moves = {MOVE_PSYCH_UP, MOVE_HI_JUMP_KICK, MOVE_MEGA_KICK, MOVE_ROCK_SLIDE}, - .level = 0, - .ppBonuses = 0, - .hpEV = 252, - .attackEV = 6, - .speedEV = 252, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 0, - .personality = 0xD, - .nickname = _("MEDICHAM"), - .friendship = 0, - }, - [2] = - { - .species = SPECIES_STANTLER, - .heldItem = ITEM_SHELL_BELL, - .moves = {MOVE_PSYCH_UP, MOVE_RETURN, MOVE_EARTHQUAKE, MOVE_SHADOW_BALL}, - .level = 0, - .ppBonuses = 0, - .hpEV = 252, - .attackEV = 252, - .speedEV = 6, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 0, - .personality = 0x3, - .nickname = _("STANTLER"), - .friendship = 0, - }, - [3] = - { - .species = SPECIES_NIDOQUEEN, - .heldItem = ITEM_SALAC_BERRY, - .moves = {MOVE_SUPERPOWER, MOVE_BITE, MOVE_CHARM, MOVE_FLATTER}, - .level = 0, - .ppBonuses = 0, - .hpEV = 252, - .attackEV = 252, - .spDefenseEV = 6, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 20, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 0, - .personality = 0x3, - .nickname = _("NIDOQUEEN"), - .friendship = 0, - }, - [4] = - { - .species = SPECIES_NINETALES, - .heldItem = ITEM_SALAC_BERRY, - .moves = {MOVE_OVERHEAT, MOVE_QUICK_ATTACK, MOVE_SPITE, MOVE_TAIL_WHIP}, - .level = 0, - .ppBonuses = 0, - .hpEV = 6, - .speedEV = 252, - .spAttackEV = 252, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 0, - .personality = 0xD7, - .nickname = _("NINETALES"), - .friendship = 255, - }, - [5] = - { - .species = SPECIES_CHARIZARD, - .heldItem = ITEM_SALAC_BERRY, - .moves = {MOVE_OVERHEAT, MOVE_BEAT_UP, MOVE_SCARY_FACE, MOVE_GROWL}, - .level = 0, - .ppBonuses = 0, - .hpEV = 6, - .speedEV = 252, - .spAttackEV = 252, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 0, - .personality = 0x28, - .nickname = _("CHARIZARD"), - .friendship = 255, - }, + .species = SPECIES_SKITTY, + .heldItem = ITEM_FOCUS_BAND, + .moves = {MOVE_PSYCH_UP, MOVE_DOUBLE_EDGE, MOVE_SHADOW_BALL, MOVE_IRON_TAIL}, + .level = 0, + .ppBonuses = 0, + .attackEV = 252, + .speedEV = 252, + .otId = TRAINER_HILL_OTID, + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0xCB, + .nickname = _("SKITTY"), + .friendship = 255, + }, + [1] = + { + .species = SPECIES_MEDICHAM, + .heldItem = ITEM_QUICK_CLAW, + .moves = {MOVE_PSYCH_UP, MOVE_HI_JUMP_KICK, MOVE_MEGA_KICK, MOVE_ROCK_SLIDE}, + .level = 0, + .ppBonuses = 0, + .hpEV = 252, + .attackEV = 6, + .speedEV = 252, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0xD, + .nickname = _("MEDICHAM"), + .friendship = 0, + }, + [2] = + { + .species = SPECIES_STANTLER, + .heldItem = ITEM_SHELL_BELL, + .moves = {MOVE_PSYCH_UP, MOVE_RETURN, MOVE_EARTHQUAKE, MOVE_SHADOW_BALL}, + .level = 0, + .ppBonuses = 0, + .hpEV = 252, + .attackEV = 252, + .speedEV = 6, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x3, + .nickname = _("STANTLER"), + .friendship = 0, + }, + [3] = + { + .species = SPECIES_NIDOQUEEN, + .heldItem = ITEM_SALAC_BERRY, + .moves = {MOVE_SUPERPOWER, MOVE_BITE, MOVE_CHARM, MOVE_FLATTER}, + .level = 0, + .ppBonuses = 0, + .hpEV = 252, + .attackEV = 252, + .spDefenseEV = 6, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 20, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x3, + .nickname = _("NIDOQUEEN"), + .friendship = 0, + }, + [4] = + { + .species = SPECIES_NINETALES, + .heldItem = ITEM_SALAC_BERRY, + .moves = {MOVE_OVERHEAT, MOVE_QUICK_ATTACK, MOVE_SPITE, MOVE_TAIL_WHIP}, + .level = 0, + .ppBonuses = 0, + .hpEV = 6, + .speedEV = 252, + .spAttackEV = 252, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0xD7, + .nickname = _("NINETALES"), + .friendship = 255, + }, + [5] = + { + .species = SPECIES_CHARIZARD, + .heldItem = ITEM_SALAC_BERRY, + .moves = {MOVE_OVERHEAT, MOVE_BEAT_UP, MOVE_SCARY_FACE, MOVE_GROWL}, + .level = 0, + .ppBonuses = 0, + .hpEV = 6, + .speedEV = 252, + .spAttackEV = 252, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x28, + .nickname = _("CHARIZARD"), + .friendship = 255, }, }, }, + }, + .display = { .data = {0x31, 0x35, 0x35, 0x35, 0x26, 0x26, 0x13, 0x14, 0x15, 0x38, 0x26, 0x2E, 0x35, 0x35, 0x3B, 0x8, 0x69, 0x63, 0x64, 0x64, 0x64, 0x64, 0x71, 0x71, 0x71, 0x72, 0x64, 0x64, 0x64, 0x63, 0x73, 0x8, 0x69, 0x63, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x63, 0x73, 0x8, 0x69, 0x63, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x63, 0x73, 0x8, 0x69, 0x63, 0x43, 0x41, 0x40, 0x41, 0x42, 0x41, 0x41, 0x4A, 0x42, 0x41, 0x41, 0x63, 0x73, 0x8, 0x69, 0x63, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x64, 0x73, 0x73, 0x73, 0x63, 0x73, 0x8, 0x69, 0x63, 0x41, 0x43, 0x4B, 0x43, 0x43, 0x41, 0x42, 0x42, 0x40, 0x41, 0x40, 0x63, 0x73, 0x8, 0x69, 0x63, 0x73, 0x73, 0x64, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x63, 0x73, 0x8, 0x69, 0x63, 0x41, 0x40, 0x42, 0x42, 0x41, 0x41, 0x42, 0x4A, 0x42, 0x41, 0x42, 0x63, 0x73, 0x8, 0x69, 0x63, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x64, 0x73, 0x73, 0x73, 0x63, 0x73, 0x8, 0x69, 0x63, 0x41, 0x42, 0x41, 0x43, 0x4B, 0x41, 0x41, 0x41, 0x40, 0x43, 0x41, 0x63, 0x73, 0x8, 0x69, 0x63, 0x73, 0x73, 0x73, 0x73, 0x64, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x63, 0x73, 0x8, 0x69, 0x63, 0x41, 0x40, 0x43, 0x41, 0x42, 0x42, 0x41, 0x4A, 0x42, 0x41, 0x42, 0x63, 0x73, 0x8, 0x69, 0x64, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x64, 0x73, 0x73, 0x73, 0x64, 0x73, 0x8, 0x69, 0x43, 0x43, 0x41, 0x42, 0x42, 0x41, 0x43, 0x41, 0x41, 0x40, 0x42, 0x41, 0x42, 0x73, 0x8, 0x69, 0x42, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x42, 0x73, 0x8}, .unk3A0 = {0x381, 0x7C3D, 0x4005, 0x4005, 0x4005, 0x4045, 0x4005, 0x4805, 0x4005, 0x4045, 0x4005, 0x4205, 0x4005, 0x4045, 0x1, 0x1}, .coords = {37, 41}, .direction = 0x23, .range = 0x33, - }, - [3] = + } + }, + [3] = + { + .unk0 = 0x17, + .unk1 = 0x18, + .trainers = { - .unk0 = 0x17, - .unk1 = 0x18, - .trainers = + [0] = { - [0] = + .name = _("KEENAN"), + .facilityClass = FACILITY_CLASS_PSYCHIC_M, + .unused = 0, + .speechBefore = {EC_WORD_YOU, EC_WORD_LOOK, EC_WORD_SO, EC_WORD_HURRIED, 0xFFFF, 0xFFFF}, + .speechWin = {EC_WORD_TOO, EC_WORD_BAD, 0xFFFF, EC_WORD_TIME, EC_WORD_IS, EC_WORD_UP}, + .speechLose = {EC_WORD_DOES, EC_WORD_THE, EC_WORD_TIME, EC_WORD_WORRY, EC_WORD_YOU, EC_WORD_QUES}, + .speechAfter = {EC_WORD_YOU, EC_WORD_DON_T, EC_WORD_HAVE, EC_WORD_TIME, EC_WORD_TO, EC_WORD_CHAT}, + .mons = { - .name = _("KEENAN"), - .facilityClass = FACILITY_CLASS_PSYCHIC_M, - .unused = 0, - .speechBefore = {EC_WORD_YOU, EC_WORD_LOOK, EC_WORD_SO, EC_WORD_HURRIED, 0xFFFF, 0xFFFF}, - .speechWin = {EC_WORD_TOO, EC_WORD_BAD, 0xFFFF, EC_WORD_TIME, EC_WORD_IS, EC_WORD_UP}, - .speechLose = {EC_WORD_DOES, EC_WORD_THE, EC_WORD_TIME, EC_WORD_WORRY, EC_WORD_YOU, EC_WORD_QUES}, - .speechAfter = {EC_WORD_YOU, EC_WORD_DON_T, EC_WORD_HAVE, EC_WORD_TIME, EC_WORD_TO, EC_WORD_CHAT}, - .mons = + [0] = { - [0] = - { - .species = SPECIES_ALAKAZAM, - .heldItem = ITEM_PETAYA_BERRY, - .moves = {MOVE_SKILL_SWAP, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_REFLECT}, - .level = 0, - .ppBonuses = 0, - .speedEV = 255, - .spAttackEV = 255, - .otId = TRAINER_HILL_OTID, - .hpIV = 5, - .attackIV = 5, - .defenseIV = 5, - .speedIV = 5, - .spAttackIV = 5, - .spDefenseIV = 5, - .abilityNum = 0, - .personality = 0x41, - .nickname = _("ALAKAZAM"), - .friendship = 255, - }, - [1] = - { - .species = SPECIES_BLISSEY, - .heldItem = ITEM_LEFTOVERS, - .moves = {MOVE_SKILL_SWAP, MOVE_EGG_BOMB, MOVE_THUNDERBOLT, MOVE_SING}, - .level = 0, - .ppBonuses = 0, - .defenseEV = 255, - .spAttackEV = 155, - .spDefenseEV = 100, - .otId = TRAINER_HILL_OTID, - .hpIV = 5, - .attackIV = 5, - .defenseIV = 5, - .speedIV = 5, - .spAttackIV = 5, - .spDefenseIV = 5, - .abilityNum = 1, - .personality = 0xF, - .nickname = _("BLISSEY"), - .friendship = 255, - }, - [2] = - { - .species = SPECIES_GRUMPIG, - .heldItem = ITEM_TWISTED_SPOON, - .moves = {MOVE_SKILL_SWAP, MOVE_PSYCHIC, MOVE_CONFUSE_RAY, MOVE_REST}, - .level = 0, - .ppBonuses = 0, - .hpEV = 110, - .defenseEV = 200, - .spAttackEV = 200, - .otId = TRAINER_HILL_OTID, - .hpIV = 5, - .attackIV = 5, - .defenseIV = 5, - .speedIV = 5, - .spAttackIV = 5, - .spDefenseIV = 5, - .abilityNum = 0, - .personality = 0x8C, - .nickname = _("GRUMPIG"), - .friendship = 255, - }, - [3] = - { - .species = SPECIES_GARDEVOIR, - .heldItem = ITEM_SALAC_BERRY, - .moves = {MOVE_SKILL_SWAP, MOVE_DREAM_EATER, MOVE_HYPNOSIS, MOVE_PROTECT}, - .level = 0, - .ppBonuses = 0, - .speedEV = 255, - .spAttackEV = 255, - .otId = TRAINER_HILL_OTID, - .hpIV = 5, - .attackIV = 5, - .defenseIV = 5, - .speedIV = 5, - .spAttackIV = 5, - .spDefenseIV = 5, - .abilityNum = 1, - .personality = 0xF, - .nickname = _("GARDEVOIR"), - .friendship = 255, - }, - [4] = - { - .species = SPECIES_VENOMOTH, - .heldItem = ITEM_BRIGHT_POWDER, - .moves = {MOVE_SKILL_SWAP, MOVE_SIGNAL_BEAM, MOVE_SLEEP_POWDER, MOVE_TOXIC}, - .level = 0, - .ppBonuses = 0, - .attackEV = 255, - .speedEV = 255, - .otId = TRAINER_HILL_OTID, - .hpIV = 5, - .attackIV = 5, - .defenseIV = 5, - .speedIV = 5, - .spAttackIV = 5, - .spDefenseIV = 5, - .abilityNum = 0, - .personality = 0x80, - .nickname = _("VENOMOTH"), - .friendship = 255, - }, - [5] = - { - .species = SPECIES_ESPEON, - .heldItem = ITEM_LUM_BERRY, - .moves = {MOVE_SKILL_SWAP, MOVE_PSYBEAM, MOVE_SWIFT, MOVE_ATTRACT}, - .level = 0, - .ppBonuses = 0, - .speedEV = 255, - .spAttackEV = 255, - .otId = TRAINER_HILL_OTID, - .hpIV = 5, - .attackIV = 5, - .defenseIV = 5, - .speedIV = 5, - .spAttackIV = 5, - .spDefenseIV = 5, - .abilityNum = 0, - .personality = 0xF, - .nickname = _("ESPEON"), - .friendship = 255, - }, + .species = SPECIES_ALAKAZAM, + .heldItem = ITEM_PETAYA_BERRY, + .moves = {MOVE_SKILL_SWAP, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_REFLECT}, + .level = 0, + .ppBonuses = 0, + .speedEV = 255, + .spAttackEV = 255, + .otId = TRAINER_HILL_OTID, + .hpIV = 5, + .attackIV = 5, + .defenseIV = 5, + .speedIV = 5, + .spAttackIV = 5, + .spDefenseIV = 5, + .abilityNum = 0, + .personality = 0x41, + .nickname = _("ALAKAZAM"), + .friendship = 255, + }, + [1] = + { + .species = SPECIES_BLISSEY, + .heldItem = ITEM_LEFTOVERS, + .moves = {MOVE_SKILL_SWAP, MOVE_EGG_BOMB, MOVE_THUNDERBOLT, MOVE_SING}, + .level = 0, + .ppBonuses = 0, + .defenseEV = 255, + .spAttackEV = 155, + .spDefenseEV = 100, + .otId = TRAINER_HILL_OTID, + .hpIV = 5, + .attackIV = 5, + .defenseIV = 5, + .speedIV = 5, + .spAttackIV = 5, + .spDefenseIV = 5, + .abilityNum = 1, + .personality = 0xF, + .nickname = _("BLISSEY"), + .friendship = 255, + }, + [2] = + { + .species = SPECIES_GRUMPIG, + .heldItem = ITEM_TWISTED_SPOON, + .moves = {MOVE_SKILL_SWAP, MOVE_PSYCHIC, MOVE_CONFUSE_RAY, MOVE_REST}, + .level = 0, + .ppBonuses = 0, + .hpEV = 110, + .defenseEV = 200, + .spAttackEV = 200, + .otId = TRAINER_HILL_OTID, + .hpIV = 5, + .attackIV = 5, + .defenseIV = 5, + .speedIV = 5, + .spAttackIV = 5, + .spDefenseIV = 5, + .abilityNum = 0, + .personality = 0x8C, + .nickname = _("GRUMPIG"), + .friendship = 255, + }, + [3] = + { + .species = SPECIES_GARDEVOIR, + .heldItem = ITEM_SALAC_BERRY, + .moves = {MOVE_SKILL_SWAP, MOVE_DREAM_EATER, MOVE_HYPNOSIS, MOVE_PROTECT}, + .level = 0, + .ppBonuses = 0, + .speedEV = 255, + .spAttackEV = 255, + .otId = TRAINER_HILL_OTID, + .hpIV = 5, + .attackIV = 5, + .defenseIV = 5, + .speedIV = 5, + .spAttackIV = 5, + .spDefenseIV = 5, + .abilityNum = 1, + .personality = 0xF, + .nickname = _("GARDEVOIR"), + .friendship = 255, + }, + [4] = + { + .species = SPECIES_VENOMOTH, + .heldItem = ITEM_BRIGHT_POWDER, + .moves = {MOVE_SKILL_SWAP, MOVE_SIGNAL_BEAM, MOVE_SLEEP_POWDER, MOVE_TOXIC}, + .level = 0, + .ppBonuses = 0, + .attackEV = 255, + .speedEV = 255, + .otId = TRAINER_HILL_OTID, + .hpIV = 5, + .attackIV = 5, + .defenseIV = 5, + .speedIV = 5, + .spAttackIV = 5, + .spDefenseIV = 5, + .abilityNum = 0, + .personality = 0x80, + .nickname = _("VENOMOTH"), + .friendship = 255, + }, + [5] = + { + .species = SPECIES_ESPEON, + .heldItem = ITEM_LUM_BERRY, + .moves = {MOVE_SKILL_SWAP, MOVE_PSYBEAM, MOVE_SWIFT, MOVE_ATTRACT}, + .level = 0, + .ppBonuses = 0, + .speedEV = 255, + .spAttackEV = 255, + .otId = TRAINER_HILL_OTID, + .hpIV = 5, + .attackIV = 5, + .defenseIV = 5, + .speedIV = 5, + .spAttackIV = 5, + .spDefenseIV = 5, + .abilityNum = 0, + .personality = 0xF, + .nickname = _("ESPEON"), + .friendship = 255, }, }, - [1] = + }, + [1] = + { + .name = _("KRISTINA"), + .facilityClass = FACILITY_CLASS_AROMA_LADY, + .unused = 0, + .speechBefore = {EC_WORD_IT_S, EC_WORD_HOT, EC_WORD_ELLIPSIS, EC_WORD_WHAT, EC_WORD_A, EC_WORD_STENCH}, + .speechWin = {EC_WORD_I, EC_WORD_REALLY, EC_WORD_LIKE, EC_WORD_AN, EC_WORD_OFFENSIVE, EC_WORD_STENCH}, + .speechLose = {EC_WORD_I, EC_MOVE2(COVET), EC_WORD_ANY, EC_WORD_STRONG, EC_WORD_STENCH, 0xFFFF}, + .speechAfter = {EC_WORD_MY, EC_WORD_SENSE, EC_WORD_OF, EC_WORD_SMELL, EC_WORD_ISN_T, EC_WORD_NORMAL}, + .mons = { - .name = _("KRISTINA"), - .facilityClass = FACILITY_CLASS_AROMA_LADY, - .unused = 0, - .speechBefore = {EC_WORD_IT_S, EC_WORD_HOT, EC_WORD_ELLIPSIS, EC_WORD_WHAT, EC_WORD_A, EC_WORD_STENCH}, - .speechWin = {EC_WORD_I, EC_WORD_REALLY, EC_WORD_LIKE, EC_WORD_AN, EC_WORD_OFFENSIVE, EC_WORD_STENCH}, - .speechLose = {EC_WORD_I, EC_MOVE2(COVET), EC_WORD_ANY, EC_WORD_STRONG, EC_WORD_STENCH, 0xFFFF}, - .speechAfter = {EC_WORD_MY, EC_WORD_SENSE, EC_WORD_OF, EC_WORD_SMELL, EC_WORD_ISN_T, EC_WORD_NORMAL}, - .mons = + [0] = { - [0] = - { - .species = SPECIES_WEEZING, - .heldItem = ITEM_POISON_BARB, - .moves = {MOVE_TOXIC, MOVE_SLUDGE_BOMB, MOVE_SMOKESCREEN, MOVE_HAZE}, - .level = 0, - .ppBonuses = 0, - .hpEV = 255, - .attackEV = 255, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 0, - .personality = 0x3, - .nickname = _("WEEZING"), - .friendship = 255, - }, - [1] = - { - .species = SPECIES_GLOOM, - .heldItem = ITEM_MIRACLE_SEED, - .moves = {MOVE_PETAL_DANCE, MOVE_SYNTHESIS, MOVE_SUNNY_DAY, MOVE_SOLAR_BEAM}, - .level = 0, - .ppBonuses = 0, - .speedEV = 255, - .spAttackEV = 255, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 0, - .personality = 0x8C, - .nickname = _("GLOOM"), - .friendship = 255, - }, - [2] = - { - .species = SPECIES_MUK, - .heldItem = ITEM_BRIGHT_POWDER, - .moves = {MOVE_SCREECH, MOVE_DISABLE, MOVE_SLUDGE_BOMB, MOVE_ACID_ARMOR}, - .level = 0, - .ppBonuses = 0, - .hpEV = 255, - .attackEV = 255, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 0, - .personality = 0x3, - .nickname = _("MUK"), - .friendship = 255, - }, - [3] = - { - .species = SPECIES_TROPIUS, - .heldItem = ITEM_WHITE_HERB, - .moves = {MOVE_SUNNY_DAY, MOVE_SOLAR_BEAM, MOVE_SWEET_SCENT, MOVE_AERIAL_ACE}, - .level = 0, - .ppBonuses = 0, - .attackEV = 120, - .speedEV = 255, - .spAttackEV = 135, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 0, - .personality = 0x83, - .nickname = _("TROPIUS"), - .friendship = 255, - }, - [4] = - { - .species = SPECIES_BELLOSSOM, - .heldItem = ITEM_MENTAL_HERB, - .moves = {MOVE_SWEET_SCENT, MOVE_PETAL_DANCE, MOVE_STUN_SPORE, MOVE_SLUDGE_BOMB}, - .level = 0, - .ppBonuses = 0, - .hpEV = 255, - .speedEV = 255, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 0, - .personality = 0x6, - .nickname = _("BELLOSSOM"), - .friendship = 255, - }, - [5] = - { - .species = SPECIES_MEGANIUM, - .heldItem = ITEM_MIRACLE_SEED, - .moves = {MOVE_RAZOR_LEAF, MOVE_BODY_SLAM, MOVE_LEECH_SEED, MOVE_SYNTHESIS}, - .level = 0, - .ppBonuses = 0, - .attackEV = 200, - .speedEV = 110, - .spAttackEV = 200, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 0, - .personality = 0x1F, - .nickname = _("MEGANIUM"), - .friendship = 255, - }, + .species = SPECIES_WEEZING, + .heldItem = ITEM_POISON_BARB, + .moves = {MOVE_TOXIC, MOVE_SLUDGE_BOMB, MOVE_SMOKESCREEN, MOVE_HAZE}, + .level = 0, + .ppBonuses = 0, + .hpEV = 255, + .attackEV = 255, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x3, + .nickname = _("WEEZING"), + .friendship = 255, + }, + [1] = + { + .species = SPECIES_GLOOM, + .heldItem = ITEM_MIRACLE_SEED, + .moves = {MOVE_PETAL_DANCE, MOVE_SYNTHESIS, MOVE_SUNNY_DAY, MOVE_SOLAR_BEAM}, + .level = 0, + .ppBonuses = 0, + .speedEV = 255, + .spAttackEV = 255, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x8C, + .nickname = _("GLOOM"), + .friendship = 255, + }, + [2] = + { + .species = SPECIES_MUK, + .heldItem = ITEM_BRIGHT_POWDER, + .moves = {MOVE_SCREECH, MOVE_DISABLE, MOVE_SLUDGE_BOMB, MOVE_ACID_ARMOR}, + .level = 0, + .ppBonuses = 0, + .hpEV = 255, + .attackEV = 255, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x3, + .nickname = _("MUK"), + .friendship = 255, + }, + [3] = + { + .species = SPECIES_TROPIUS, + .heldItem = ITEM_WHITE_HERB, + .moves = {MOVE_SUNNY_DAY, MOVE_SOLAR_BEAM, MOVE_SWEET_SCENT, MOVE_AERIAL_ACE}, + .level = 0, + .ppBonuses = 0, + .attackEV = 120, + .speedEV = 255, + .spAttackEV = 135, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x83, + .nickname = _("TROPIUS"), + .friendship = 255, + }, + [4] = + { + .species = SPECIES_BELLOSSOM, + .heldItem = ITEM_MENTAL_HERB, + .moves = {MOVE_SWEET_SCENT, MOVE_PETAL_DANCE, MOVE_STUN_SPORE, MOVE_SLUDGE_BOMB}, + .level = 0, + .ppBonuses = 0, + .hpEV = 255, + .speedEV = 255, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x6, + .nickname = _("BELLOSSOM"), + .friendship = 255, + }, + [5] = + { + .species = SPECIES_MEGANIUM, + .heldItem = ITEM_MIRACLE_SEED, + .moves = {MOVE_RAZOR_LEAF, MOVE_BODY_SLAM, MOVE_LEECH_SEED, MOVE_SYNTHESIS}, + .level = 0, + .ppBonuses = 0, + .attackEV = 200, + .speedEV = 110, + .spAttackEV = 200, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x1F, + .nickname = _("MEGANIUM"), + .friendship = 255, }, }, }, + }, + .display = { .data = {0x31, 0x3B, 0x3B, 0x3B, 0x39, 0x26, 0x1B, 0x1C, 0x1D, 0x25, 0x39, 0x3A, 0x3B, 0x3B, 0x3B, 0x8, 0x1F, 0x17, 0x17, 0x17, 0x17, 0x2B, 0x24, 0x24, 0x24, 0x2B, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, 0x8, 0x33, 0x17, 0x17, 0x17, 0x17, 0x2B, 0x3B, 0x3B, 0x3B, 0x2B, 0x35, 0x35, 0x3B, 0x35, 0x35, 0x8, 0x33, 0x17, 0x17, 0x17, 0x17, 0x2B, 0x3B, 0x3B, 0x3B, 0x2B, 0x2C, 0x2C, 0x3B, 0x2C, 0x2C, 0x8, 0x33, 0x17, 0x1F, 0x17, 0x17, 0x2B, 0x3B, 0x3B, 0x3B, 0x2B, 0x17, 0x17, 0x17, 0x17, 0x17, 0x8, 0x34, 0x17, 0x2C, 0x17, 0x17, 0x2B, 0x3B, 0x3B, 0x3B, 0x2C, 0x17, 0x17, 0x17, 0x17, 0x17, 0x8, 0x17, 0x17, 0x17, 0x17, 0x17, 0x2C, 0x3B, 0x3B, 0x3B, 0x3B, 0x17, 0x17, 0x17, 0x17, 0x17, 0x8, 0x1F, 0x17, 0x17, 0x17, 0x17, 0x1F, 0x17, 0x3B, 0x3B, 0x3B, 0x17, 0x17, 0x17, 0x17, 0x17, 0x8, 0x33, 0x17, 0x17, 0x17, 0x17, 0x2B, 0x3B, 0x3B, 0x3B, 0x35, 0x1F, 0x17, 0x17, 0x1F, 0x17, 0x8, 0x34, 0x17, 0x17, 0x17, 0x17, 0x2B, 0x3B, 0x3B, 0x3B, 0x2B, 0x2C, 0x3B, 0x3B, 0x2B, 0x17, 0x8, 0x17, 0x17, 0x17, 0x1F, 0x17, 0x2B, 0x3B, 0x3B, 0x3B, 0x2B, 0x17, 0x17, 0x17, 0x2C, 0x17, 0x8, 0x1F, 0x17, 0x17, 0x2C, 0x17, 0x2B, 0x3B, 0x3B, 0x3B, 0x2B, 0x17, 0x3B, 0x1F, 0x3B, 0x17, 0x8, 0x33, 0x17, 0x17, 0x17, 0x17, 0x2B, 0x3B, 0x3B, 0x3B, 0x2B, 0x17, 0x3B, 0x2B, 0x3B, 0x17, 0x8, 0x33, 0x17, 0x17, 0x17, 0x17, 0x2B, 0x35, 0x35, 0x35, 0x2B, 0x17, 0x3B, 0x2C, 0x3B, 0x17, 0x8, 0x34, 0x17, 0x17, 0x17, 0x17, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x17, 0x17, 0x17, 0x17, 0x17, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8}, .unk3A0 = {0x381, 0x7C1, 0x8441, 0x8477, 0x8441, 0xA441, 0x401, 0x1, 0x8401, 0x8465, 0x445, 0x1441, 0x8449, 0x8449, 0x87C1, 0xFFFF}, .coords = {71, 167}, .direction = 0x1, .range = 0x33, - }, + } }, }; + static const struct TrHillTag sDataTagVariety = { .unkField_0 = 8, .unused1 = 1, - .unkField_2 = 4, - .unused3 = 0, - .unused4 = 21, - .unused5 = 76, - .unused6 = 5, - .floors = - { - [0] = + .numFloors = 4, + .checksum = 0x00054C15 +}; + +static const struct TrHillFloor sDataTagVariety_floors[] = { + [0] = { .unk0 = 0x29, .unk1 = 0x2A, .trainers = - { - [0] = { - .name = _("TERRANCE"), - .facilityClass = FACILITY_CLASS_GENTLEMAN, - .unused = 0, - .speechBefore = {EC_WORD_GOOD, EC_WORD_CHILDREN, EC_WORD_WILL, EC_WORD_GET, EC_WORD_A, EC_MOVE2(PRESENT)}, - .speechWin = {EC_WORD_THANK_YOU, EC_WORD_MY, EC_WORD_VICTORY, EC_WORD_IS, EC_WORD_YOUR, EC_MOVE2(PRESENT)}, - .speechLose = {EC_WORD_THAT_WAS, EC_WORD_MY, EC_MOVE2(PRESENT), EC_WORD_TO, EC_WORD_YOU, 0xFFFF}, - .speechAfter = {EC_WORD_WELL_THEN, EC_WORD_CONGRATS, EC_WORD_MY, EC_WORD_FRIEND, 0xFFFF, 0xFFFF}, - .mons = - { - [0] = - { - .species = SPECIES_DELIBIRD, - .heldItem = ITEM_SITRUS_BERRY, - .moves = {MOVE_PRESENT, MOVE_SPLASH, MOVE_HAIL, MOVE_PROTECT}, - .level = 0, - .ppBonuses = 0, - .attackEV = 255, - .speedEV = 255, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 1, - .personality = 0x8A, - .nickname = _("DELIBIRD"), - .friendship = 255, + [0] = + { + .name = _("TERRANCE"), + .facilityClass = FACILITY_CLASS_GENTLEMAN, + .unused = 0, + .speechBefore = {EC_WORD_GOOD, EC_WORD_CHILDREN, EC_WORD_WILL, EC_WORD_GET, EC_WORD_A, EC_MOVE2(PRESENT)}, + .speechWin = {EC_WORD_THANK_YOU, EC_WORD_MY, EC_WORD_VICTORY, EC_WORD_IS, EC_WORD_YOUR, EC_MOVE2(PRESENT)}, + .speechLose = {EC_WORD_THAT_WAS, EC_WORD_MY, EC_MOVE2(PRESENT), EC_WORD_TO, EC_WORD_YOU, 0xFFFF}, + .speechAfter = {EC_WORD_WELL_THEN, EC_WORD_CONGRATS, EC_WORD_MY, EC_WORD_FRIEND, 0xFFFF, 0xFFFF}, + .mons = + { + [0] = + { + .species = SPECIES_DELIBIRD, + .heldItem = ITEM_SITRUS_BERRY, + .moves = {MOVE_PRESENT, MOVE_SPLASH, MOVE_HAIL, MOVE_PROTECT}, + .level = 0, + .ppBonuses = 0, + .attackEV = 255, + .speedEV = 255, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 1, + .personality = 0x8A, + .nickname = _("DELIBIRD"), + .friendship = 255, + }, + [1] = + { + .species = SPECIES_CLEFAIRY, + .heldItem = ITEM_SITRUS_BERRY, + .moves = {MOVE_PRESENT, MOVE_COSMIC_POWER, MOVE_LIGHT_SCREEN, MOVE_MOONLIGHT}, + .level = 0, + .ppBonuses = 0, + .attackEV = 255, + .speedEV = 255, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0xD, + .nickname = _("CLEFAIRY"), + .friendship = 255, + }, + [2] = + { + .species = SPECIES_PIKACHU, + .heldItem = ITEM_SITRUS_BERRY, + .moves = {MOVE_PRESENT, MOVE_GROWL, MOVE_TAIL_WHIP, MOVE_AGILITY}, + .level = 0, + .ppBonuses = 0, + .attackEV = 255, + .speedEV = 255, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0xD, + .nickname = _("PIKACHU"), + .friendship = 255, + }, + [3] = + { + .species = SPECIES_MARILL, + .heldItem = ITEM_SITRUS_BERRY, + .moves = {MOVE_PRESENT, MOVE_DEFENSE_CURL, MOVE_TAIL_WHIP, MOVE_ENDURE}, + .level = 0, + .ppBonuses = 0, + .attackEV = 255, + .speedEV = 255, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 1, + .personality = 0x8A, + .nickname = _("MARILL"), + .friendship = 255, + }, + [4] = + { + .species = SPECIES_JIGGLYPUFF, + .heldItem = ITEM_SITRUS_BERRY, + .moves = {MOVE_PRESENT, MOVE_SING, MOVE_DISABLE, MOVE_REST}, + .level = 0, + .ppBonuses = 0, + .attackEV = 255, + .speedEV = 255, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0xD, + .nickname = _("JIGGLYPUFF"), + .friendship = 255, + }, + [5] = + { + .species = SPECIES_TOGETIC, + .heldItem = ITEM_SITRUS_BERRY, + .moves = {MOVE_PRESENT, MOVE_CHARM, MOVE_SWEET_KISS, MOVE_WISH}, + .level = 0, + .ppBonuses = 0, + .attackEV = 255, + .speedEV = 255, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 1, + .personality = 0x26, + .nickname = _("TOGETIC"), + .friendship = 255, + }, + }, + }, + [1] = + { + .name = _("ELIZABETH"), + .facilityClass = FACILITY_CLASS_LADY, + .unused = 0, + .speechBefore = {EC_WORD_CAN, EC_WORD_YOU, EC_WORD_SENSE, EC_WORD_ME, EC_MOVE(FOCUS_ENERGY), EC_WORD_QUES}, + .speechWin = {EC_WORD_THAT_S, EC_WORD_ABOUT, EC_WORD_RIGHT, EC_WORD_I, EC_WORD_WOULD, EC_WORD_THINK}, + .speechLose = {EC_WORD_THINGS, EC_WORD_DON_T, EC_WORD_ALWAYS, EC_WORD_WORK, EC_WORD_OUT, 0xFFFF}, + .speechAfter = {EC_WORD_I_AM, EC_WORD_FEELING, EC_WORD_LONESOME, EC_WORD_AND, EC_WORD_SAD, EC_WORD_NOW}, + .mons = + { + [0] = + { + .species = SPECIES_WIGGLYTUFF, + .heldItem = ITEM_SILK_SCARF, + .moves = {MOVE_ROLLOUT, MOVE_DEFENSE_CURL, MOVE_SING, MOVE_DREAM_EATER}, + .level = 0, + .ppBonuses = 0, + .hpEV = 255, + .speedEV = 255, + .otId = TRAINER_HILL_OTID, + .hpIV = 5, + .attackIV = 5, + .defenseIV = 5, + .speedIV = 5, + .spAttackIV = 5, + .spDefenseIV = 5, + .abilityNum = 0, + .personality = 0xC1, + .nickname = _("WIGGLYTUFF"), + .friendship = 255, + }, + [1] = + { + .species = SPECIES_SABLEYE, + .heldItem = ITEM_SILK_SCARF, + .moves = {MOVE_ASTONISH, MOVE_FAINT_ATTACK, MOVE_DETECT, MOVE_CONFUSE_RAY}, + .level = 0, + .ppBonuses = 0, + .hpEV = 255, + .speedEV = 255, + .otId = TRAINER_HILL_OTID, + .hpIV = 5, + .attackIV = 5, + .defenseIV = 5, + .speedIV = 5, + .spAttackIV = 5, + .spDefenseIV = 5, + .abilityNum = 0, + .personality = 0x87, + .nickname = _("SABLEYE"), + .friendship = 255, + }, + [2] = + { + .species = SPECIES_GRUMPIG, + .heldItem = ITEM_SILK_SCARF, + .moves = {MOVE_PSYBEAM, MOVE_MAGIC_COAT, MOVE_BOUNCE, MOVE_FUTURE_SIGHT}, + .level = 0, + .ppBonuses = 0, + .hpEV = 255, + .speedEV = 255, + .otId = TRAINER_HILL_OTID, + .hpIV = 5, + .attackIV = 5, + .defenseIV = 5, + .speedIV = 5, + .spAttackIV = 5, + .spDefenseIV = 5, + .abilityNum = 0, + .personality = 0xA, + .nickname = _("GRUMPIG"), + .friendship = 255, + }, + [3] = + { + .species = SPECIES_CORSOLA, + .heldItem = ITEM_SILK_SCARF, + .moves = {MOVE_BUBBLE_BEAM, MOVE_ROCK_BLAST, MOVE_REFLECT, MOVE_LIGHT_SCREEN}, + .level = 0, + .ppBonuses = 0, + .hpEV = 255, + .speedEV = 255, + .otId = TRAINER_HILL_OTID, + .hpIV = 5, + .attackIV = 5, + .defenseIV = 5, + .speedIV = 5, + .spAttackIV = 5, + .spDefenseIV = 5, + .abilityNum = 0, + .personality = 0x12, + .nickname = _("CORSOLA"), + .friendship = 255, + }, + [4] = + { + .species = SPECIES_CLAMPERL, + .heldItem = ITEM_SILK_SCARF, + .moves = {MOVE_WHIRLPOOL, MOVE_IRON_DEFENSE, MOVE_ENDURE, MOVE_CONFUSE_RAY}, + .level = 0, + .ppBonuses = 0, + .hpEV = 255, + .speedEV = 255, + .otId = TRAINER_HILL_OTID, + .hpIV = 5, + .attackIV = 5, + .defenseIV = 5, + .speedIV = 5, + .spAttackIV = 5, + .spDefenseIV = 5, + .abilityNum = 0, + .personality = 0xA, + .nickname = _("CLAMPERL"), + .friendship = 255, + }, + [5] = + { + .species = SPECIES_STARMIE, + .heldItem = ITEM_SILK_SCARF, + .moves = {MOVE_DIVE, MOVE_ICY_WIND, MOVE_SWIFT, MOVE_SKILL_SWAP}, + .level = 0, + .ppBonuses = 0, + .hpEV = 255, + .speedEV = 255, + .otId = TRAINER_HILL_OTID, + .hpIV = 5, + .attackIV = 5, + .defenseIV = 5, + .speedIV = 5, + .spAttackIV = 5, + .spDefenseIV = 5, + .abilityNum = 0, + .personality = 0xA, + .nickname = _("STARMIE"), + .friendship = 255, + }, + }, }, - [1] = - { - .species = SPECIES_CLEFAIRY, - .heldItem = ITEM_SITRUS_BERRY, - .moves = {MOVE_PRESENT, MOVE_COSMIC_POWER, MOVE_LIGHT_SCREEN, MOVE_MOONLIGHT}, - .level = 0, - .ppBonuses = 0, - .attackEV = 255, - .speedEV = 255, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 0, - .personality = 0xD, - .nickname = _("CLEFAIRY"), - .friendship = 255, - }, - [2] = - { - .species = SPECIES_PIKACHU, - .heldItem = ITEM_SITRUS_BERRY, - .moves = {MOVE_PRESENT, MOVE_GROWL, MOVE_TAIL_WHIP, MOVE_AGILITY}, - .level = 0, - .ppBonuses = 0, - .attackEV = 255, - .speedEV = 255, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 0, - .personality = 0xD, - .nickname = _("PIKACHU"), - .friendship = 255, - }, - [3] = - { - .species = SPECIES_MARILL, - .heldItem = ITEM_SITRUS_BERRY, - .moves = {MOVE_PRESENT, MOVE_DEFENSE_CURL, MOVE_TAIL_WHIP, MOVE_ENDURE}, - .level = 0, - .ppBonuses = 0, - .attackEV = 255, - .speedEV = 255, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 1, - .personality = 0x8A, - .nickname = _("MARILL"), - .friendship = 255, - }, - [4] = - { - .species = SPECIES_JIGGLYPUFF, - .heldItem = ITEM_SITRUS_BERRY, - .moves = {MOVE_PRESENT, MOVE_SING, MOVE_DISABLE, MOVE_REST}, - .level = 0, - .ppBonuses = 0, - .attackEV = 255, - .speedEV = 255, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 0, - .personality = 0xD, - .nickname = _("JIGGLYPUFF"), - .friendship = 255, - }, - [5] = - { - .species = SPECIES_TOGETIC, - .heldItem = ITEM_SITRUS_BERRY, - .moves = {MOVE_PRESENT, MOVE_CHARM, MOVE_SWEET_KISS, MOVE_WISH}, - .level = 0, - .ppBonuses = 0, - .attackEV = 255, - .speedEV = 255, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 1, - .personality = 0x26, - .nickname = _("TOGETIC"), - .friendship = 255, - }, - }, - }, - [1] = - { - .name = _("ELIZABETH"), - .facilityClass = FACILITY_CLASS_LADY, - .unused = 0, - .speechBefore = {EC_WORD_CAN, EC_WORD_YOU, EC_WORD_SENSE, EC_WORD_ME, EC_MOVE(FOCUS_ENERGY), EC_WORD_QUES}, - .speechWin = {EC_WORD_THAT_S, EC_WORD_ABOUT, EC_WORD_RIGHT, EC_WORD_I, EC_WORD_WOULD, EC_WORD_THINK}, - .speechLose = {EC_WORD_THINGS, EC_WORD_DON_T, EC_WORD_ALWAYS, EC_WORD_WORK, EC_WORD_OUT, 0xFFFF}, - .speechAfter = {EC_WORD_I_AM, EC_WORD_FEELING, EC_WORD_LONESOME, EC_WORD_AND, EC_WORD_SAD, EC_WORD_NOW}, - .mons = - { - [0] = - { - .species = SPECIES_WIGGLYTUFF, - .heldItem = ITEM_SILK_SCARF, - .moves = {MOVE_ROLLOUT, MOVE_DEFENSE_CURL, MOVE_SING, MOVE_DREAM_EATER}, - .level = 0, - .ppBonuses = 0, - .hpEV = 255, - .speedEV = 255, - .otId = TRAINER_HILL_OTID, - .hpIV = 5, - .attackIV = 5, - .defenseIV = 5, - .speedIV = 5, - .spAttackIV = 5, - .spDefenseIV = 5, - .abilityNum = 0, - .personality = 0xC1, - .nickname = _("WIGGLYTUFF"), - .friendship = 255, - }, - [1] = - { - .species = SPECIES_SABLEYE, - .heldItem = ITEM_SILK_SCARF, - .moves = {MOVE_ASTONISH, MOVE_FAINT_ATTACK, MOVE_DETECT, MOVE_CONFUSE_RAY}, - .level = 0, - .ppBonuses = 0, - .hpEV = 255, - .speedEV = 255, - .otId = TRAINER_HILL_OTID, - .hpIV = 5, - .attackIV = 5, - .defenseIV = 5, - .speedIV = 5, - .spAttackIV = 5, - .spDefenseIV = 5, - .abilityNum = 0, - .personality = 0x87, - .nickname = _("SABLEYE"), - .friendship = 255, - }, - [2] = - { - .species = SPECIES_GRUMPIG, - .heldItem = ITEM_SILK_SCARF, - .moves = {MOVE_PSYBEAM, MOVE_MAGIC_COAT, MOVE_BOUNCE, MOVE_FUTURE_SIGHT}, - .level = 0, - .ppBonuses = 0, - .hpEV = 255, - .speedEV = 255, - .otId = TRAINER_HILL_OTID, - .hpIV = 5, - .attackIV = 5, - .defenseIV = 5, - .speedIV = 5, - .spAttackIV = 5, - .spDefenseIV = 5, - .abilityNum = 0, - .personality = 0xA, - .nickname = _("GRUMPIG"), - .friendship = 255, - }, - [3] = - { - .species = SPECIES_CORSOLA, - .heldItem = ITEM_SILK_SCARF, - .moves = {MOVE_BUBBLE_BEAM, MOVE_ROCK_BLAST, MOVE_REFLECT, MOVE_LIGHT_SCREEN}, - .level = 0, - .ppBonuses = 0, - .hpEV = 255, - .speedEV = 255, - .otId = TRAINER_HILL_OTID, - .hpIV = 5, - .attackIV = 5, - .defenseIV = 5, - .speedIV = 5, - .spAttackIV = 5, - .spDefenseIV = 5, - .abilityNum = 0, - .personality = 0x12, - .nickname = _("CORSOLA"), - .friendship = 255, - }, - [4] = - { - .species = SPECIES_CLAMPERL, - .heldItem = ITEM_SILK_SCARF, - .moves = {MOVE_WHIRLPOOL, MOVE_IRON_DEFENSE, MOVE_ENDURE, MOVE_CONFUSE_RAY}, - .level = 0, - .ppBonuses = 0, - .hpEV = 255, - .speedEV = 255, - .otId = TRAINER_HILL_OTID, - .hpIV = 5, - .attackIV = 5, - .defenseIV = 5, - .speedIV = 5, - .spAttackIV = 5, - .spDefenseIV = 5, - .abilityNum = 0, - .personality = 0xA, - .nickname = _("CLAMPERL"), - .friendship = 255, - }, - [5] = - { - .species = SPECIES_STARMIE, - .heldItem = ITEM_SILK_SCARF, - .moves = {MOVE_DIVE, MOVE_ICY_WIND, MOVE_SWIFT, MOVE_SKILL_SWAP}, - .level = 0, - .ppBonuses = 0, - .hpEV = 255, - .speedEV = 255, - .otId = TRAINER_HILL_OTID, - .hpIV = 5, - .attackIV = 5, - .defenseIV = 5, - .speedIV = 5, - .spAttackIV = 5, - .spDefenseIV = 5, - .abilityNum = 0, - .personality = 0xA, - .nickname = _("STARMIE"), - .friendship = 255, - }, - }, }, - }, - .data = {0x31, 0x3B, 0x3B, 0x3B, 0x39, 0x39, 0x13, 0x14, 0x15, 0x38, 0x39, 0x3A, 0x3B, 0x3B, 0x3B, 0x8, 0x40, 0x41, 0x41, 0x41, 0x41, 0x41, 0x42, 0x43, 0x43, 0x43, 0x43, 0x43, 0x40, 0x41, 0x41, 0x8, 0x40, 0xFB, 0x43, 0x41, 0x41, 0x41, 0x42, 0x40, 0x43, 0x41, 0x42, 0x42, 0x42, 0xFB, 0x41, 0x8, 0x40, 0x41, 0xFB, 0x41, 0x41, 0x41, 0x42, 0x40, 0x43, 0x41, 0x43, 0x43, 0xFB, 0x40, 0x41, 0x8, 0x40, 0x41, 0x41, 0xFB, 0x43, 0x41, 0x42, 0x40, 0x43, 0x43, 0x43, 0xFB, 0x41, 0x40, 0x41, 0x8, 0x40, 0x41, 0x41, 0x41, 0x42, 0x42, 0x42, 0x40, 0x43, 0x43, 0x43, 0x41, 0x41, 0x40, 0x41, 0x8, 0x40, 0x41, 0x41, 0x41, 0xFE, 0xFE, 0xFE, 0xFB, 0xFE, 0xFE, 0xFE, 0x41, 0x41, 0x40, 0x41, 0x8, 0x40, 0x41, 0x41, 0x41, 0xFE, 0xFE, 0xFE, 0xFB, 0xFE, 0xFE, 0xFE, 0x41, 0x41, 0x40, 0x41, 0x8, 0x40, 0x41, 0x42, 0x41, 0xFE, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFE, 0x41, 0x41, 0x40, 0x41, 0x8, 0x40, 0x41, 0x41, 0x41, 0xFE, 0xFE, 0xFE, 0xFB, 0xFE, 0xFE, 0xFE, 0x41, 0x41, 0x40, 0x41, 0x8, 0x40, 0x41, 0x41, 0x41, 0xFE, 0xFE, 0xFE, 0xFB, 0xFE, 0xFE, 0xFE, 0x41, 0x41, 0x40, 0x41, 0x8, 0x40, 0x42, 0x41, 0x43, 0x43, 0x43, 0x41, 0x40, 0x42, 0x42, 0x42, 0x42, 0x41, 0x40, 0x41, 0x8, 0x40, 0x40, 0x41, 0xFB, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0xFB, 0x41, 0x40, 0x41, 0x8, 0x40, 0x40, 0xFB, 0x43, 0x43, 0x41, 0x41, 0x41, 0x42, 0x42, 0x42, 0x42, 0xFB, 0x40, 0x41, 0x8, 0x40, 0xFB, 0x43, 0x43, 0x41, 0x41, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0xFB, 0x41, 0x8, 0x40, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x8}, - .unk3A0 = {0x381, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1}, - .coords = {133, 137}, - .direction = 0x23, - .range = 0x33, + .display = { + .data = {0x31, 0x3B, 0x3B, 0x3B, 0x39, 0x39, 0x13, 0x14, 0x15, 0x38, 0x39, 0x3A, 0x3B, 0x3B, 0x3B, 0x8, 0x40, 0x41, 0x41, 0x41, 0x41, 0x41, 0x42, 0x43, 0x43, 0x43, 0x43, 0x43, 0x40, 0x41, 0x41, 0x8, 0x40, 0xFB, 0x43, 0x41, 0x41, 0x41, 0x42, 0x40, 0x43, 0x41, 0x42, 0x42, 0x42, 0xFB, 0x41, 0x8, 0x40, 0x41, 0xFB, 0x41, 0x41, 0x41, 0x42, 0x40, 0x43, 0x41, 0x43, 0x43, 0xFB, 0x40, 0x41, 0x8, 0x40, 0x41, 0x41, 0xFB, 0x43, 0x41, 0x42, 0x40, 0x43, 0x43, 0x43, 0xFB, 0x41, 0x40, 0x41, 0x8, 0x40, 0x41, 0x41, 0x41, 0x42, 0x42, 0x42, 0x40, 0x43, 0x43, 0x43, 0x41, 0x41, 0x40, 0x41, 0x8, 0x40, 0x41, 0x41, 0x41, 0xFE, 0xFE, 0xFE, 0xFB, 0xFE, 0xFE, 0xFE, 0x41, 0x41, 0x40, 0x41, 0x8, 0x40, 0x41, 0x41, 0x41, 0xFE, 0xFE, 0xFE, 0xFB, 0xFE, 0xFE, 0xFE, 0x41, 0x41, 0x40, 0x41, 0x8, 0x40, 0x41, 0x42, 0x41, 0xFE, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFE, 0x41, 0x41, 0x40, 0x41, 0x8, 0x40, 0x41, 0x41, 0x41, 0xFE, 0xFE, 0xFE, 0xFB, 0xFE, 0xFE, 0xFE, 0x41, 0x41, 0x40, 0x41, 0x8, 0x40, 0x41, 0x41, 0x41, 0xFE, 0xFE, 0xFE, 0xFB, 0xFE, 0xFE, 0xFE, 0x41, 0x41, 0x40, 0x41, 0x8, 0x40, 0x42, 0x41, 0x43, 0x43, 0x43, 0x41, 0x40, 0x42, 0x42, 0x42, 0x42, 0x41, 0x40, 0x41, 0x8, 0x40, 0x40, 0x41, 0xFB, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0xFB, 0x41, 0x40, 0x41, 0x8, 0x40, 0x40, 0xFB, 0x43, 0x43, 0x41, 0x41, 0x41, 0x42, 0x42, 0x42, 0x42, 0xFB, 0x40, 0x41, 0x8, 0x40, 0xFB, 0x43, 0x43, 0x41, 0x41, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0xFB, 0x41, 0x8, 0x40, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x8}, + .unk3A0 = {0x381, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1}, + .coords = {133, 137}, + .direction = 0x23, + .range = 0x33, + } }, - [1] = + [1] = { .unk0 = 0x2B, .unk1 = 0x2C, .trainers = - { - [0] = { - .name = _("ANNABELL"), - .facilityClass = FACILITY_CLASS_PARASOL_LADY, - .unused = 0, - .speechBefore = {EC_WORD_HI, EC_WORD_ARE, EC_WORD_YOU, EC_WORD_FEELING, EC_WORD_UPBEAT, EC_WORD_QUES}, - .speechWin = {EC_WORD_AREN_T, EC_WORD_YOU, EC_WORD_FEELING, EC_WORD_WELL, EC_WORD_QUES, 0xFFFF}, - .speechLose = {EC_WORD_I, EC_WORD_CAN, EC_WORD_SEE, EC_WORD_YOU_RE, EC_WORD_FEELING, EC_WORD_GREAT}, - .speechAfter = {EC_WORD_YOUR, EC_WORD_POKEMON, EC_WORD_LOOK, EC_WORD_READY, EC_WORD_TO, EC_WORD_HUSTLE}, - .mons = - { - [0] = - { - .species = SPECIES_JIGGLYPUFF, - .heldItem = ITEM_BRIGHT_POWDER, - .moves = {MOVE_SING, MOVE_HYPER_VOICE, MOVE_ATTRACT, MOVE_NONE}, - .level = 0, - .ppBonuses = 0, - .hpEV = 85, - .attackEV = 85, - .defenseEV = 85, - .speedEV = 85, - .spAttackEV = 85, - .spDefenseEV = 85, - .otId = TRAINER_HILL_OTID, - .hpIV = 5, - .attackIV = 5, - .defenseIV = 5, - .speedIV = 5, - .spAttackIV = 5, - .spDefenseIV = 5, - .abilityNum = 0, - .personality = 0x0, - .nickname = _("JIGGLYPUFF"), - .friendship = 255, - }, - [1] = - { - .species = SPECIES_JYNX, - .heldItem = ITEM_BRIGHT_POWDER, - .moves = {MOVE_PERISH_SONG, MOVE_FAKE_TEARS, MOVE_ATTRACT, MOVE_NONE}, - .level = 0, - .ppBonuses = 0, - .hpEV = 85, - .attackEV = 85, - .defenseEV = 85, - .speedEV = 85, - .spAttackEV = 85, - .spDefenseEV = 85, - .otId = TRAINER_HILL_OTID, - .hpIV = 5, - .attackIV = 5, - .defenseIV = 5, - .speedIV = 5, - .spAttackIV = 5, - .spDefenseIV = 5, - .abilityNum = 0, - .personality = 0x0, - .nickname = _("JYNX"), - .friendship = 255, - }, - [2] = - { - .species = SPECIES_EXPLOUD, - .heldItem = ITEM_BRIGHT_POWDER, - .moves = {MOVE_HOWL, MOVE_HYPER_VOICE, MOVE_ATTRACT, MOVE_NONE}, - .level = 0, - .ppBonuses = 0, - .hpEV = 85, - .attackEV = 85, - .defenseEV = 85, - .speedEV = 85, - .spAttackEV = 85, - .spDefenseEV = 85, - .otId = TRAINER_HILL_OTID, - .hpIV = 5, - .attackIV = 5, - .defenseIV = 5, - .speedIV = 5, - .spAttackIV = 5, - .spDefenseIV = 5, - .abilityNum = 0, - .personality = 0x96, - .nickname = _("EXPLOUD"), - .friendship = 255, - }, - [3] = - { - .species = SPECIES_ABSOL, - .heldItem = ITEM_BRIGHT_POWDER, - .moves = {MOVE_SWORDS_DANCE, MOVE_SLASH, MOVE_ATTRACT, MOVE_NONE}, - .level = 0, - .ppBonuses = 0, - .hpEV = 85, - .attackEV = 85, - .defenseEV = 85, - .speedEV = 85, - .spAttackEV = 85, - .spDefenseEV = 85, - .otId = TRAINER_HILL_OTID, - .hpIV = 5, - .attackIV = 5, - .defenseIV = 5, - .speedIV = 5, - .spAttackIV = 5, - .spDefenseIV = 5, - .abilityNum = 0, - .personality = 0x96, - .nickname = _("ABSOL"), - .friendship = 255, - }, - [4] = - { - .species = SPECIES_PIDGEOTTO, - .heldItem = ITEM_BRIGHT_POWDER, - .moves = {MOVE_FEATHER_DANCE, MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_NONE}, - .level = 0, - .ppBonuses = 0, - .hpEV = 85, - .attackEV = 85, - .defenseEV = 85, - .speedEV = 85, - .spAttackEV = 85, - .spDefenseEV = 85, - .otId = TRAINER_HILL_OTID, - .hpIV = 5, - .attackIV = 5, - .defenseIV = 5, - .speedIV = 5, - .spAttackIV = 5, - .spDefenseIV = 5, - .abilityNum = 0, - .personality = 0x96, - .nickname = _("PIDGEOTTO"), - .friendship = 255, + [0] = + { + .name = _("ANNABELL"), + .facilityClass = FACILITY_CLASS_PARASOL_LADY, + .unused = 0, + .speechBefore = {EC_WORD_HI, EC_WORD_ARE, EC_WORD_YOU, EC_WORD_FEELING, EC_WORD_UPBEAT, EC_WORD_QUES}, + .speechWin = {EC_WORD_AREN_T, EC_WORD_YOU, EC_WORD_FEELING, EC_WORD_WELL, EC_WORD_QUES, 0xFFFF}, + .speechLose = {EC_WORD_I, EC_WORD_CAN, EC_WORD_SEE, EC_WORD_YOU_RE, EC_WORD_FEELING, EC_WORD_GREAT}, + .speechAfter = {EC_WORD_YOUR, EC_WORD_POKEMON, EC_WORD_LOOK, EC_WORD_READY, EC_WORD_TO, EC_WORD_HUSTLE}, + .mons = + { + [0] = + { + .species = SPECIES_JIGGLYPUFF, + .heldItem = ITEM_BRIGHT_POWDER, + .moves = {MOVE_SING, MOVE_HYPER_VOICE, MOVE_ATTRACT, MOVE_NONE}, + .level = 0, + .ppBonuses = 0, + .hpEV = 85, + .attackEV = 85, + .defenseEV = 85, + .speedEV = 85, + .spAttackEV = 85, + .spDefenseEV = 85, + .otId = TRAINER_HILL_OTID, + .hpIV = 5, + .attackIV = 5, + .defenseIV = 5, + .speedIV = 5, + .spAttackIV = 5, + .spDefenseIV = 5, + .abilityNum = 0, + .personality = 0x0, + .nickname = _("JIGGLYPUFF"), + .friendship = 255, + }, + [1] = + { + .species = SPECIES_JYNX, + .heldItem = ITEM_BRIGHT_POWDER, + .moves = {MOVE_PERISH_SONG, MOVE_FAKE_TEARS, MOVE_ATTRACT, MOVE_NONE}, + .level = 0, + .ppBonuses = 0, + .hpEV = 85, + .attackEV = 85, + .defenseEV = 85, + .speedEV = 85, + .spAttackEV = 85, + .spDefenseEV = 85, + .otId = TRAINER_HILL_OTID, + .hpIV = 5, + .attackIV = 5, + .defenseIV = 5, + .speedIV = 5, + .spAttackIV = 5, + .spDefenseIV = 5, + .abilityNum = 0, + .personality = 0x0, + .nickname = _("JYNX"), + .friendship = 255, + }, + [2] = + { + .species = SPECIES_EXPLOUD, + .heldItem = ITEM_BRIGHT_POWDER, + .moves = {MOVE_HOWL, MOVE_HYPER_VOICE, MOVE_ATTRACT, MOVE_NONE}, + .level = 0, + .ppBonuses = 0, + .hpEV = 85, + .attackEV = 85, + .defenseEV = 85, + .speedEV = 85, + .spAttackEV = 85, + .spDefenseEV = 85, + .otId = TRAINER_HILL_OTID, + .hpIV = 5, + .attackIV = 5, + .defenseIV = 5, + .speedIV = 5, + .spAttackIV = 5, + .spDefenseIV = 5, + .abilityNum = 0, + .personality = 0x96, + .nickname = _("EXPLOUD"), + .friendship = 255, + }, + [3] = + { + .species = SPECIES_ABSOL, + .heldItem = ITEM_BRIGHT_POWDER, + .moves = {MOVE_SWORDS_DANCE, MOVE_SLASH, MOVE_ATTRACT, MOVE_NONE}, + .level = 0, + .ppBonuses = 0, + .hpEV = 85, + .attackEV = 85, + .defenseEV = 85, + .speedEV = 85, + .spAttackEV = 85, + .spDefenseEV = 85, + .otId = TRAINER_HILL_OTID, + .hpIV = 5, + .attackIV = 5, + .defenseIV = 5, + .speedIV = 5, + .spAttackIV = 5, + .spDefenseIV = 5, + .abilityNum = 0, + .personality = 0x96, + .nickname = _("ABSOL"), + .friendship = 255, + }, + [4] = + { + .species = SPECIES_PIDGEOTTO, + .heldItem = ITEM_BRIGHT_POWDER, + .moves = {MOVE_FEATHER_DANCE, MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_NONE}, + .level = 0, + .ppBonuses = 0, + .hpEV = 85, + .attackEV = 85, + .defenseEV = 85, + .speedEV = 85, + .spAttackEV = 85, + .spDefenseEV = 85, + .otId = TRAINER_HILL_OTID, + .hpIV = 5, + .attackIV = 5, + .defenseIV = 5, + .speedIV = 5, + .spAttackIV = 5, + .spDefenseIV = 5, + .abilityNum = 0, + .personality = 0x96, + .nickname = _("PIDGEOTTO"), + .friendship = 255, + }, + [5] = + { + .species = SPECIES_ALTARIA, + .heldItem = ITEM_BRIGHT_POWDER, + .moves = {MOVE_DRAGON_DANCE, MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_NONE}, + .level = 0, + .ppBonuses = 0, + .hpEV = 85, + .attackEV = 85, + .defenseEV = 85, + .speedEV = 85, + .spAttackEV = 85, + .spDefenseEV = 85, + .otId = TRAINER_HILL_OTID, + .hpIV = 5, + .attackIV = 5, + .defenseIV = 5, + .speedIV = 5, + .spAttackIV = 5, + .spDefenseIV = 5, + .abilityNum = 0, + .personality = 0x0, + .nickname = _("ALTARIA"), + .friendship = 255, + }, + }, + }, + [1] = + { + .name = _("COLEMAN"), + .facilityClass = FACILITY_CLASS_COLLECTOR, + .unused = 0, + .speechBefore = {EC_WORD_I, EC_WORD_SEEK, EC_WORD_SOMEONE, EC_WORD_AS, EC_WORD_MY, EC_WORD_IDOL}, + .speechWin = {EC_WORD_DID, EC_WORD_MY, EC_WORD_IDOL, EC_WORD_SEE, EC_WORD_THAT, EC_WORD_QUES}, + .speechLose = {EC_WORD_YOU_RE, EC_WORD_LIKE, EC_WORD_A, EC_MOVE(HEAL_BELL), EC_WORD_TO_ME, EC_WORD_EXCL}, + .speechAfter = {EC_WORD_I_VE, EC_WORD_DECIDED, EC_WORD_I_CHOOSE_YOU, EC_WORD_AS, EC_WORD_MY, EC_WORD_IDOL}, + .mons = + { + [0] = + { + .species = SPECIES_CHIMECHO, + .heldItem = ITEM_FOCUS_BAND, + .moves = {MOVE_UPROAR, MOVE_ATTRACT, MOVE_NONE, MOVE_NONE}, + .level = 0, + .ppBonuses = 0, + .hpEV = 6, + .attackEV = 252, + .speedEV = 252, + .otId = TRAINER_HILL_OTID, + .hpIV = 5, + .attackIV = 5, + .defenseIV = 5, + .speedIV = 5, + .spAttackIV = 5, + .spDefenseIV = 5, + .abilityNum = 0, + .personality = 0xD, + .nickname = _("CHIMECHO"), + .friendship = 255, + }, + [1] = + { + .species = SPECIES_WHISMUR, + .heldItem = ITEM_FOCUS_BAND, + .moves = {MOVE_UPROAR, MOVE_ATTRACT, MOVE_NONE, MOVE_NONE}, + .level = 0, + .ppBonuses = 0, + .hpEV = 6, + .attackEV = 252, + .speedEV = 252, + .otId = TRAINER_HILL_OTID, + .hpIV = 5, + .attackIV = 5, + .defenseIV = 5, + .speedIV = 5, + .spAttackIV = 5, + .spDefenseIV = 5, + .abilityNum = 0, + .personality = 0xD, + .nickname = _("WHISMUR"), + .friendship = 255, + }, + [2] = + { + .species = SPECIES_YANMA, + .heldItem = ITEM_FOCUS_BAND, + .moves = {MOVE_UPROAR, MOVE_ATTRACT, MOVE_NONE, MOVE_NONE}, + .level = 0, + .ppBonuses = 0, + .hpEV = 6, + .attackEV = 252, + .speedEV = 252, + .otId = TRAINER_HILL_OTID, + .hpIV = 5, + .attackIV = 5, + .defenseIV = 5, + .speedIV = 5, + .spAttackIV = 5, + .spDefenseIV = 5, + .abilityNum = 0, + .personality = 0x8A, + .nickname = _("YANMA"), + .friendship = 255, + }, + [3] = + { + .species = SPECIES_ILLUMISE, + .heldItem = ITEM_BRIGHT_POWDER, + .moves = {MOVE_ENCORE, MOVE_ATTRACT, MOVE_NONE, MOVE_NONE}, + .level = 0, + .ppBonuses = 0, + .hpEV = 252, + .defenseEV = 6, + .speedEV = 252, + .otId = TRAINER_HILL_OTID, + .hpIV = 5, + .attackIV = 5, + .defenseIV = 5, + .speedIV = 5, + .spAttackIV = 5, + .spDefenseIV = 5, + .abilityNum = 0, + .personality = 0xA, + .nickname = _("ILLUMISE"), + .friendship = 255, + }, + [4] = + { + .species = SPECIES_SPHEAL, + .heldItem = ITEM_FOCUS_BAND, + .moves = {MOVE_ENCORE, MOVE_ATTRACT, MOVE_NONE, MOVE_NONE}, + .level = 0, + .ppBonuses = 0, + .hpEV = 252, + .speedEV = 252, + .spDefenseEV = 6, + .otId = TRAINER_HILL_OTID, + .hpIV = 5, + .attackIV = 5, + .defenseIV = 5, + .speedIV = 5, + .spAttackIV = 5, + .spDefenseIV = 5, + .abilityNum = 0, + .personality = 0xA, + .nickname = _("SPHEAL"), + .friendship = 255, + }, + [5] = + { + .species = SPECIES_VIGOROTH, + .heldItem = ITEM_FOCUS_BAND, + .moves = {MOVE_ENCORE, MOVE_ATTRACT, MOVE_NONE, MOVE_NONE}, + .level = 0, + .ppBonuses = 0, + .hpEV = 252, + .defenseEV = 6, + .speedEV = 252, + .otId = TRAINER_HILL_OTID, + .hpIV = 5, + .attackIV = 5, + .defenseIV = 5, + .speedIV = 5, + .spAttackIV = 5, + .spDefenseIV = 5, + .abilityNum = 0, + .personality = 0x87, + .nickname = _("VIGOROTH"), + .friendship = 255, + }, + }, }, - [5] = - { - .species = SPECIES_ALTARIA, - .heldItem = ITEM_BRIGHT_POWDER, - .moves = {MOVE_DRAGON_DANCE, MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_NONE}, - .level = 0, - .ppBonuses = 0, - .hpEV = 85, - .attackEV = 85, - .defenseEV = 85, - .speedEV = 85, - .spAttackEV = 85, - .spDefenseEV = 85, - .otId = TRAINER_HILL_OTID, - .hpIV = 5, - .attackIV = 5, - .defenseIV = 5, - .speedIV = 5, - .spAttackIV = 5, - .spDefenseIV = 5, - .abilityNum = 0, - .personality = 0x0, - .nickname = _("ALTARIA"), - .friendship = 255, - }, - }, - }, - [1] = - { - .name = _("COLEMAN"), - .facilityClass = FACILITY_CLASS_COLLECTOR, - .unused = 0, - .speechBefore = {EC_WORD_I, EC_WORD_SEEK, EC_WORD_SOMEONE, EC_WORD_AS, EC_WORD_MY, EC_WORD_IDOL}, - .speechWin = {EC_WORD_DID, EC_WORD_MY, EC_WORD_IDOL, EC_WORD_SEE, EC_WORD_THAT, EC_WORD_QUES}, - .speechLose = {EC_WORD_YOU_RE, EC_WORD_LIKE, EC_WORD_A, EC_MOVE(HEAL_BELL), EC_WORD_TO_ME, EC_WORD_EXCL}, - .speechAfter = {EC_WORD_I_VE, EC_WORD_DECIDED, EC_WORD_I_CHOOSE_YOU, EC_WORD_AS, EC_WORD_MY, EC_WORD_IDOL}, - .mons = - { - [0] = - { - .species = SPECIES_CHIMECHO, - .heldItem = ITEM_FOCUS_BAND, - .moves = {MOVE_UPROAR, MOVE_ATTRACT, MOVE_NONE, MOVE_NONE}, - .level = 0, - .ppBonuses = 0, - .hpEV = 6, - .attackEV = 252, - .speedEV = 252, - .otId = TRAINER_HILL_OTID, - .hpIV = 5, - .attackIV = 5, - .defenseIV = 5, - .speedIV = 5, - .spAttackIV = 5, - .spDefenseIV = 5, - .abilityNum = 0, - .personality = 0xD, - .nickname = _("CHIMECHO"), - .friendship = 255, - }, - [1] = - { - .species = SPECIES_WHISMUR, - .heldItem = ITEM_FOCUS_BAND, - .moves = {MOVE_UPROAR, MOVE_ATTRACT, MOVE_NONE, MOVE_NONE}, - .level = 0, - .ppBonuses = 0, - .hpEV = 6, - .attackEV = 252, - .speedEV = 252, - .otId = TRAINER_HILL_OTID, - .hpIV = 5, - .attackIV = 5, - .defenseIV = 5, - .speedIV = 5, - .spAttackIV = 5, - .spDefenseIV = 5, - .abilityNum = 0, - .personality = 0xD, - .nickname = _("WHISMUR"), - .friendship = 255, - }, - [2] = - { - .species = SPECIES_YANMA, - .heldItem = ITEM_FOCUS_BAND, - .moves = {MOVE_UPROAR, MOVE_ATTRACT, MOVE_NONE, MOVE_NONE}, - .level = 0, - .ppBonuses = 0, - .hpEV = 6, - .attackEV = 252, - .speedEV = 252, - .otId = TRAINER_HILL_OTID, - .hpIV = 5, - .attackIV = 5, - .defenseIV = 5, - .speedIV = 5, - .spAttackIV = 5, - .spDefenseIV = 5, - .abilityNum = 0, - .personality = 0x8A, - .nickname = _("YANMA"), - .friendship = 255, - }, - [3] = - { - .species = SPECIES_ILLUMISE, - .heldItem = ITEM_BRIGHT_POWDER, - .moves = {MOVE_ENCORE, MOVE_ATTRACT, MOVE_NONE, MOVE_NONE}, - .level = 0, - .ppBonuses = 0, - .hpEV = 252, - .defenseEV = 6, - .speedEV = 252, - .otId = TRAINER_HILL_OTID, - .hpIV = 5, - .attackIV = 5, - .defenseIV = 5, - .speedIV = 5, - .spAttackIV = 5, - .spDefenseIV = 5, - .abilityNum = 0, - .personality = 0xA, - .nickname = _("ILLUMISE"), - .friendship = 255, - }, - [4] = - { - .species = SPECIES_SPHEAL, - .heldItem = ITEM_FOCUS_BAND, - .moves = {MOVE_ENCORE, MOVE_ATTRACT, MOVE_NONE, MOVE_NONE}, - .level = 0, - .ppBonuses = 0, - .hpEV = 252, - .speedEV = 252, - .spDefenseEV = 6, - .otId = TRAINER_HILL_OTID, - .hpIV = 5, - .attackIV = 5, - .defenseIV = 5, - .speedIV = 5, - .spAttackIV = 5, - .spDefenseIV = 5, - .abilityNum = 0, - .personality = 0xA, - .nickname = _("SPHEAL"), - .friendship = 255, - }, - [5] = - { - .species = SPECIES_VIGOROTH, - .heldItem = ITEM_FOCUS_BAND, - .moves = {MOVE_ENCORE, MOVE_ATTRACT, MOVE_NONE, MOVE_NONE}, - .level = 0, - .ppBonuses = 0, - .hpEV = 252, - .defenseEV = 6, - .speedEV = 252, - .otId = TRAINER_HILL_OTID, - .hpIV = 5, - .attackIV = 5, - .defenseIV = 5, - .speedIV = 5, - .spAttackIV = 5, - .spDefenseIV = 5, - .abilityNum = 0, - .personality = 0x87, - .nickname = _("VIGOROTH"), - .friendship = 255, - }, - }, }, - }, - .data = {0x31, 0x3B, 0x3B, 0x3B, 0x39, 0x39, 0x13, 0x14, 0x15, 0x38, 0x39, 0x3A, 0x3B, 0x3B, 0x3B, 0x8, 0x91, 0x9B, 0x9C, 0x96, 0x40, 0x40, 0x96, 0x9B, 0x96, 0x40, 0x40, 0x96, 0x9B, 0x9C, 0x9B, 0x8, 0x9C, 0x9B, 0x96, 0x40, 0xDB, 0xDB, 0x40, 0x96, 0x40, 0xDB, 0xDB, 0x42, 0x96, 0x9B, 0x9B, 0x8, 0x91, 0x96, 0x40, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0x42, 0x96, 0x9C, 0x8, 0x91, 0x42, 0xDB, 0xDB, 0xD6, 0xD6, 0xD6, 0xDB, 0xD6, 0xD6, 0xD6, 0xDB, 0xDB, 0x42, 0x9B, 0x8, 0x96, 0x42, 0xDB, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xDB, 0x42, 0x96, 0x8, 0x96, 0x42, 0xDB, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xDB, 0x42, 0x96, 0x8, 0x96, 0x42, 0xDB, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xDB, 0x42, 0x96, 0x8, 0x96, 0x42, 0xDB, 0xDB, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xDB, 0xDB, 0x42, 0x96, 0x8, 0x91, 0x96, 0x42, 0xDB, 0xDB, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xDB, 0xDB, 0x42, 0x96, 0x9B, 0x8, 0x91, 0x9B, 0x96, 0x42, 0xDB, 0xDB, 0xD6, 0xD6, 0xD6, 0xDB, 0xDB, 0x42, 0x96, 0x9B, 0x9C, 0x8, 0x9C, 0x9B, 0x9B, 0x96, 0x42, 0xDB, 0xDB, 0xD6, 0xDB, 0xDB, 0x42, 0x96, 0x9B, 0x9B, 0x9B, 0x8, 0x96, 0x9B, 0x9B, 0x9B, 0x96, 0x41, 0xDB, 0xDB, 0xDB, 0x42, 0x96, 0x9B, 0x9B, 0x9C, 0x96, 0x8, 0xD6, 0x96, 0x9C, 0x9B, 0x9B, 0x96, 0x41, 0xDB, 0x42, 0x96, 0x9B, 0x9B, 0x9B, 0x96, 0xD6, 0x8, 0x9C, 0xD6, 0x96, 0x9B, 0x9C, 0x9B, 0x96, 0x40, 0x96, 0x9B, 0x9C, 0x9B, 0x96, 0xD6, 0x9C, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8}, - .unk3A0 = {0x381, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0xFFFF}, - .coords = {131, 139}, - .direction = 0x23, - .range = 0x77, + .display = { + .data = {0x31, 0x3B, 0x3B, 0x3B, 0x39, 0x39, 0x13, 0x14, 0x15, 0x38, 0x39, 0x3A, 0x3B, 0x3B, 0x3B, 0x8, 0x91, 0x9B, 0x9C, 0x96, 0x40, 0x40, 0x96, 0x9B, 0x96, 0x40, 0x40, 0x96, 0x9B, 0x9C, 0x9B, 0x8, 0x9C, 0x9B, 0x96, 0x40, 0xDB, 0xDB, 0x40, 0x96, 0x40, 0xDB, 0xDB, 0x42, 0x96, 0x9B, 0x9B, 0x8, 0x91, 0x96, 0x40, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0x42, 0x96, 0x9C, 0x8, 0x91, 0x42, 0xDB, 0xDB, 0xD6, 0xD6, 0xD6, 0xDB, 0xD6, 0xD6, 0xD6, 0xDB, 0xDB, 0x42, 0x9B, 0x8, 0x96, 0x42, 0xDB, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xDB, 0x42, 0x96, 0x8, 0x96, 0x42, 0xDB, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xDB, 0x42, 0x96, 0x8, 0x96, 0x42, 0xDB, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xDB, 0x42, 0x96, 0x8, 0x96, 0x42, 0xDB, 0xDB, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xDB, 0xDB, 0x42, 0x96, 0x8, 0x91, 0x96, 0x42, 0xDB, 0xDB, 0xD6, 0xD6, 0xD6, 0xD6, 0xD6, 0xDB, 0xDB, 0x42, 0x96, 0x9B, 0x8, 0x91, 0x9B, 0x96, 0x42, 0xDB, 0xDB, 0xD6, 0xD6, 0xD6, 0xDB, 0xDB, 0x42, 0x96, 0x9B, 0x9C, 0x8, 0x9C, 0x9B, 0x9B, 0x96, 0x42, 0xDB, 0xDB, 0xD6, 0xDB, 0xDB, 0x42, 0x96, 0x9B, 0x9B, 0x9B, 0x8, 0x96, 0x9B, 0x9B, 0x9B, 0x96, 0x41, 0xDB, 0xDB, 0xDB, 0x42, 0x96, 0x9B, 0x9B, 0x9C, 0x96, 0x8, 0xD6, 0x96, 0x9C, 0x9B, 0x9B, 0x96, 0x41, 0xDB, 0x42, 0x96, 0x9B, 0x9B, 0x9B, 0x96, 0xD6, 0x8, 0x9C, 0xD6, 0x96, 0x9B, 0x9C, 0x9B, 0x96, 0x40, 0x96, 0x9B, 0x9C, 0x9B, 0x96, 0xD6, 0x9C, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8}, + .unk3A0 = {0x381, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0xFFFF}, + .coords = {131, 139}, + .direction = 0x23, + .range = 0x77, + } }, - [2] = + [2] = { .unk0 = 0x2D, .unk1 = 0x2E, .trainers = - { - [0] = { - .name = _("ENRIQUE"), - .facilityClass = FACILITY_CLASS_RICH_BOY, - .unused = 0, - .speechBefore = {EC_WORD_GET, EC_WORD_READY, EC_WORD_FOR, EC_WORD_AN, EC_WORD_AWESOME, EC_WORD_TIME}, - .speechWin = {EC_WORD_HEY, EC_WORD_HEY, EC_WORD_EXCL, EC_WORD_WHAT_S_UP_QUES, 0xFFFF, 0xFFFF}, - .speechLose = {EC_WORD_AWW, EC_WORD_COULDN_T, EC_WORD_YOU, EC_WORD_LET_ME_WIN, EC_WORD_QUES, 0xFFFF}, - .speechAfter = {EC_WORD_DID, EC_WORD_YOU, EC_WORD_SEE, EC_WORD_MY, EC_WORD_SKILL, EC_WORD_QUES}, - .mons = - { - [0] = - { - .species = SPECIES_WOOPER, - .heldItem = ITEM_FIGY_BERRY, - .moves = {MOVE_RAIN_DANCE, MOVE_YAWN, MOVE_SURF, MOVE_HAZE}, - .level = 0, - .ppBonuses = 0, - .hpEV = 252, - .speedEV = 6, - .spAttackEV = 252, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 0, - .personality = 0x8C, - .nickname = _("WOOPER"), - .friendship = 255, - }, - [1] = - { - .species = SPECIES_POLIWAG, - .heldItem = ITEM_WIKI_BERRY, - .moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_MIST, MOVE_HYPNOSIS}, - .level = 0, - .ppBonuses = 0, - .hpEV = 252, - .speedEV = 6, - .spAttackEV = 252, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 1, - .personality = 0x3, - .nickname = _("POLIWAG"), - .friendship = 255, - }, - [2] = - { - .species = SPECIES_PSYDUCK, - .heldItem = ITEM_AGUAV_BERRY, - .moves = {MOVE_HYPNOSIS, MOVE_SURF, MOVE_DISABLE, MOVE_SEISMIC_TOSS}, - .level = 0, - .ppBonuses = 0, - .hpEV = 250, - .defenseEV = 130, - .spDefenseEV = 130, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 0, - .personality = 0x3, - .nickname = _("PSYDUCK"), - .friendship = 255, - }, - [3] = - { - .species = SPECIES_RHYDON, - .heldItem = ITEM_SOFT_SAND, - .moves = {MOVE_EARTHQUAKE, MOVE_MAGNITUDE, MOVE_NONE, MOVE_NONE}, - .level = 0, - .ppBonuses = 0, - .hpEV = 252, - .attackEV = 252, - .speedEV = 6, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 0, - .personality = 0x96, - .nickname = _("RHYDON"), - .friendship = 0, - }, - [4] = - { - .species = SPECIES_RHYHORN, - .heldItem = ITEM_SOFT_SAND, - .moves = {MOVE_EARTHQUAKE, MOVE_MAGNITUDE, MOVE_NONE, MOVE_NONE}, - .level = 0, - .ppBonuses = 0, - .hpEV = 6, - .attackEV = 252, - .speedEV = 252, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 0, - .personality = 0x3, - .nickname = _("RHYHORN"), - .friendship = 0, - }, - [5] = - { - .species = SPECIES_CUBONE, - .heldItem = ITEM_SOFT_SAND, - .moves = {MOVE_EARTHQUAKE, MOVE_NONE, MOVE_NONE, MOVE_NONE}, - .level = 0, - .ppBonuses = 0, - .hpEV = 6, - .attackEV = 252, - .speedEV = 252, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 1, - .personality = 0x80, - .nickname = _("CUBONE"), - .friendship = 0, - }, - }, - }, - [1] = - { - .name = _("COLLEEN"), - .facilityClass = FACILITY_CLASS_LADY, - .unused = 0, - .speechBefore = {EC_WORD_I, EC_WORD_WOULD, EC_WORD_LIKE, EC_WORD_TO, EC_WORD_ROCK, EC_WORD_OUT}, - .speechWin = {EC_WORD_I, EC_WORD_LIKE, EC_WORD_THIS, EC_WORD_ROCK, EC_WORD_THING, EC_WORD_EXCL}, - .speechLose = {EC_WORD_GO_AHEAD, EC_WORD_AND, EC_WORD_CRUSH, EC_WORD_MY, EC_WORD_DREAM, EC_WORD_ELLIPSIS}, - .speechAfter = {EC_WORD_I, EC_WORD_WANT, EC_WORD_TO, EC_WORD_GO, EC_WORD_WILD, EC_WORD_SOMETIME}, - .mons = - { - [0] = - { - .species = SPECIES_MAGNEMITE, - .heldItem = ITEM_MAGNET, - .moves = {MOVE_THUNDER, MOVE_ZAP_CANNON, MOVE_SPARK, MOVE_THUNDER_SHOCK}, - .level = 0, - .ppBonuses = 0, - .hpEV = 6, - .speedEV = 252, - .spAttackEV = 252, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 0, - .personality = 0x8C, - .nickname = _("MAGNEMITE"), - .friendship = 255, - }, - [1] = - { - .species = SPECIES_ELECTABUZZ, - .heldItem = ITEM_MAGNET, - .moves = {MOVE_THUNDER, MOVE_THUNDERBOLT, MOVE_THUNDER_PUNCH, MOVE_SHOCK_WAVE}, - .level = 0, - .ppBonuses = 0, - .hpEV = 6, - .speedEV = 252, - .spAttackEV = 252, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 0, - .personality = 0x41, - .nickname = _("ELECTABUZZ"), - .friendship = 255, - }, - [2] = - { - .species = SPECIES_FLAAFFY, - .heldItem = ITEM_MAGNET, - .moves = {MOVE_THUNDER, MOVE_THUNDERBOLT, MOVE_SHOCK_WAVE, MOVE_THUNDER_SHOCK}, - .level = 0, - .ppBonuses = 0, - .hpEV = 250, - .spAttackEV = 130, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 0, - .personality = 0x0, - .nickname = _("FLAAFFY"), - .friendship = 255, - }, - [3] = - { - .species = SPECIES_BALTOY, - .heldItem = ITEM_SILK_SCARF, - .moves = {MOVE_EXPLOSION, MOVE_SELF_DESTRUCT, MOVE_NONE, MOVE_NONE}, - .level = 0, - .ppBonuses = 0, - .hpEV = 6, - .attackEV = 252, - .speedEV = 252, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 0, - .personality = 0x3, - .nickname = _("BALTOY"), - .friendship = 0, - }, - [4] = - { - .species = SPECIES_PINECO, - .heldItem = ITEM_SILK_SCARF, - .moves = {MOVE_EXPLOSION, MOVE_SELF_DESTRUCT, MOVE_NONE, MOVE_NONE}, - .level = 0, - .ppBonuses = 0, - .hpEV = 252, - .attackEV = 252, - .speedEV = 6, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 0, - .personality = 0x3, - .nickname = _("PINECO"), - .friendship = 0, - }, - [5] = - { - .species = SPECIES_VOLTORB, - .heldItem = ITEM_SILK_SCARF, - .moves = {MOVE_EXPLOSION, MOVE_SELF_DESTRUCT, MOVE_NONE, MOVE_NONE}, - .level = 0, - .ppBonuses = 0, - .hpEV = 6, - .attackEV = 252, - .speedEV = 252, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 0, - .personality = 0x80, - .nickname = _("VOLTORB"), - .friendship = 0, + [0] = + { + .name = _("ENRIQUE"), + .facilityClass = FACILITY_CLASS_RICH_BOY, + .unused = 0, + .speechBefore = {EC_WORD_GET, EC_WORD_READY, EC_WORD_FOR, EC_WORD_AN, EC_WORD_AWESOME, EC_WORD_TIME}, + .speechWin = {EC_WORD_HEY, EC_WORD_HEY, EC_WORD_EXCL, EC_WORD_WHAT_S_UP_QUES, 0xFFFF, 0xFFFF}, + .speechLose = {EC_WORD_AWW, EC_WORD_COULDN_T, EC_WORD_YOU, EC_WORD_LET_ME_WIN, EC_WORD_QUES, 0xFFFF}, + .speechAfter = {EC_WORD_DID, EC_WORD_YOU, EC_WORD_SEE, EC_WORD_MY, EC_WORD_SKILL, EC_WORD_QUES}, + .mons = + { + [0] = + { + .species = SPECIES_WOOPER, + .heldItem = ITEM_FIGY_BERRY, + .moves = {MOVE_RAIN_DANCE, MOVE_YAWN, MOVE_SURF, MOVE_HAZE}, + .level = 0, + .ppBonuses = 0, + .hpEV = 252, + .speedEV = 6, + .spAttackEV = 252, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x8C, + .nickname = _("WOOPER"), + .friendship = 255, + }, + [1] = + { + .species = SPECIES_POLIWAG, + .heldItem = ITEM_WIKI_BERRY, + .moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_MIST, MOVE_HYPNOSIS}, + .level = 0, + .ppBonuses = 0, + .hpEV = 252, + .speedEV = 6, + .spAttackEV = 252, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 1, + .personality = 0x3, + .nickname = _("POLIWAG"), + .friendship = 255, + }, + [2] = + { + .species = SPECIES_PSYDUCK, + .heldItem = ITEM_AGUAV_BERRY, + .moves = {MOVE_HYPNOSIS, MOVE_SURF, MOVE_DISABLE, MOVE_SEISMIC_TOSS}, + .level = 0, + .ppBonuses = 0, + .hpEV = 250, + .defenseEV = 130, + .spDefenseEV = 130, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x3, + .nickname = _("PSYDUCK"), + .friendship = 255, + }, + [3] = + { + .species = SPECIES_RHYDON, + .heldItem = ITEM_SOFT_SAND, + .moves = {MOVE_EARTHQUAKE, MOVE_MAGNITUDE, MOVE_NONE, MOVE_NONE}, + .level = 0, + .ppBonuses = 0, + .hpEV = 252, + .attackEV = 252, + .speedEV = 6, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x96, + .nickname = _("RHYDON"), + .friendship = 0, + }, + [4] = + { + .species = SPECIES_RHYHORN, + .heldItem = ITEM_SOFT_SAND, + .moves = {MOVE_EARTHQUAKE, MOVE_MAGNITUDE, MOVE_NONE, MOVE_NONE}, + .level = 0, + .ppBonuses = 0, + .hpEV = 6, + .attackEV = 252, + .speedEV = 252, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x3, + .nickname = _("RHYHORN"), + .friendship = 0, + }, + [5] = + { + .species = SPECIES_CUBONE, + .heldItem = ITEM_SOFT_SAND, + .moves = {MOVE_EARTHQUAKE, MOVE_NONE, MOVE_NONE, MOVE_NONE}, + .level = 0, + .ppBonuses = 0, + .hpEV = 6, + .attackEV = 252, + .speedEV = 252, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 1, + .personality = 0x80, + .nickname = _("CUBONE"), + .friendship = 0, + }, + }, + }, + [1] = + { + .name = _("COLLEEN"), + .facilityClass = FACILITY_CLASS_LADY, + .unused = 0, + .speechBefore = {EC_WORD_I, EC_WORD_WOULD, EC_WORD_LIKE, EC_WORD_TO, EC_WORD_ROCK, EC_WORD_OUT}, + .speechWin = {EC_WORD_I, EC_WORD_LIKE, EC_WORD_THIS, EC_WORD_ROCK, EC_WORD_THING, EC_WORD_EXCL}, + .speechLose = {EC_WORD_GO_AHEAD, EC_WORD_AND, EC_WORD_CRUSH, EC_WORD_MY, EC_WORD_DREAM, EC_WORD_ELLIPSIS}, + .speechAfter = {EC_WORD_I, EC_WORD_WANT, EC_WORD_TO, EC_WORD_GO, EC_WORD_WILD, EC_WORD_SOMETIME}, + .mons = + { + [0] = + { + .species = SPECIES_MAGNEMITE, + .heldItem = ITEM_MAGNET, + .moves = {MOVE_THUNDER, MOVE_ZAP_CANNON, MOVE_SPARK, MOVE_THUNDER_SHOCK}, + .level = 0, + .ppBonuses = 0, + .hpEV = 6, + .speedEV = 252, + .spAttackEV = 252, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x8C, + .nickname = _("MAGNEMITE"), + .friendship = 255, + }, + [1] = + { + .species = SPECIES_ELECTABUZZ, + .heldItem = ITEM_MAGNET, + .moves = {MOVE_THUNDER, MOVE_THUNDERBOLT, MOVE_THUNDER_PUNCH, MOVE_SHOCK_WAVE}, + .level = 0, + .ppBonuses = 0, + .hpEV = 6, + .speedEV = 252, + .spAttackEV = 252, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x41, + .nickname = _("ELECTABUZZ"), + .friendship = 255, + }, + [2] = + { + .species = SPECIES_FLAAFFY, + .heldItem = ITEM_MAGNET, + .moves = {MOVE_THUNDER, MOVE_THUNDERBOLT, MOVE_SHOCK_WAVE, MOVE_THUNDER_SHOCK}, + .level = 0, + .ppBonuses = 0, + .hpEV = 250, + .spAttackEV = 130, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x0, + .nickname = _("FLAAFFY"), + .friendship = 255, + }, + [3] = + { + .species = SPECIES_BALTOY, + .heldItem = ITEM_SILK_SCARF, + .moves = {MOVE_EXPLOSION, MOVE_SELF_DESTRUCT, MOVE_NONE, MOVE_NONE}, + .level = 0, + .ppBonuses = 0, + .hpEV = 6, + .attackEV = 252, + .speedEV = 252, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x3, + .nickname = _("BALTOY"), + .friendship = 0, + }, + [4] = + { + .species = SPECIES_PINECO, + .heldItem = ITEM_SILK_SCARF, + .moves = {MOVE_EXPLOSION, MOVE_SELF_DESTRUCT, MOVE_NONE, MOVE_NONE}, + .level = 0, + .ppBonuses = 0, + .hpEV = 252, + .attackEV = 252, + .speedEV = 6, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x3, + .nickname = _("PINECO"), + .friendship = 0, + }, + [5] = + { + .species = SPECIES_VOLTORB, + .heldItem = ITEM_SILK_SCARF, + .moves = {MOVE_EXPLOSION, MOVE_SELF_DESTRUCT, MOVE_NONE, MOVE_NONE}, + .level = 0, + .ppBonuses = 0, + .hpEV = 6, + .attackEV = 252, + .speedEV = 252, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x80, + .nickname = _("VOLTORB"), + .friendship = 0, + }, + }, }, - }, }, - }, - .data = {0x31, 0x3B, 0x3B, 0x3B, 0x39, 0x39, 0x1B, 0x1C, 0x1D, 0x38, 0x39, 0x3A, 0x3B, 0x3B, 0x3B, 0x8, 0x91, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x84, 0x84, 0x84, 0x9A, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x8, 0x17, 0xB2, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xB0, 0x17, 0xB2, 0xA1, 0x8, 0x17, 0xBB, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0xBB, 0x17, 0x17, 0x17, 0x8, 0x17, 0xB2, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xB0, 0x17, 0xB2, 0xA1, 0x8, 0x17, 0x17, 0x17, 0xBB, 0x17, 0x17, 0x17, 0x17, 0x17, 0xBB, 0x17, 0x17, 0x17, 0x17, 0x17, 0x8, 0x17, 0xB2, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xB0, 0x17, 0xB2, 0xA1, 0x8, 0x17, 0x17, 0xBB, 0x17, 0x17, 0x17, 0x17, 0xBB, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x8, 0x17, 0xB2, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xB0, 0x17, 0xB2, 0xA1, 0x8, 0x17, 0x17, 0x17, 0x17, 0x17, 0xBB, 0x17, 0x17, 0x17, 0x17, 0xBB, 0x17, 0x17, 0x17, 0x17, 0x8, 0x17, 0xB2, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xB0, 0x17, 0xB2, 0xA1, 0x8, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0xBB, 0x17, 0x17, 0xBB, 0x17, 0x17, 0x8, 0x17, 0xB2, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xB0, 0x17, 0xB2, 0xA1, 0x8, 0x17, 0x17, 0x17, 0x17, 0xBB, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x8, 0x17, 0xB2, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xB0, 0x17, 0xB2, 0xA1, 0x8, 0x17, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0x17, 0xBB, 0xBB, 0x8}, - .unk3A0 = {0x381, 0x381, 0x7FF7, 0x1, 0x7FF7, 0x1, 0x7FF7, 0x1, 0x7FF7, 0x1, 0x7FF7, 0x1, 0x7FF7, 0x1, 0x7FF7, 0x1}, - .coords = {25, 30}, - .direction = 0x23, - .range = 0x44, + .display = { + .data = {0x31, 0x3B, 0x3B, 0x3B, 0x39, 0x39, 0x1B, 0x1C, 0x1D, 0x38, 0x39, 0x3A, 0x3B, 0x3B, 0x3B, 0x8, 0x91, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x84, 0x84, 0x84, 0x9A, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x8, 0x17, 0xB2, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xB0, 0x17, 0xB2, 0xA1, 0x8, 0x17, 0xBB, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0xBB, 0x17, 0x17, 0x17, 0x8, 0x17, 0xB2, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xB0, 0x17, 0xB2, 0xA1, 0x8, 0x17, 0x17, 0x17, 0xBB, 0x17, 0x17, 0x17, 0x17, 0x17, 0xBB, 0x17, 0x17, 0x17, 0x17, 0x17, 0x8, 0x17, 0xB2, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xB0, 0x17, 0xB2, 0xA1, 0x8, 0x17, 0x17, 0xBB, 0x17, 0x17, 0x17, 0x17, 0xBB, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x8, 0x17, 0xB2, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xB0, 0x17, 0xB2, 0xA1, 0x8, 0x17, 0x17, 0x17, 0x17, 0x17, 0xBB, 0x17, 0x17, 0x17, 0x17, 0xBB, 0x17, 0x17, 0x17, 0x17, 0x8, 0x17, 0xB2, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xB0, 0x17, 0xB2, 0xA1, 0x8, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0xBB, 0x17, 0x17, 0xBB, 0x17, 0x17, 0x8, 0x17, 0xB2, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xB0, 0x17, 0xB2, 0xA1, 0x8, 0x17, 0x17, 0x17, 0x17, 0xBB, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x8, 0x17, 0xB2, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xA1, 0xB0, 0x17, 0xB2, 0xA1, 0x8, 0x17, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0x17, 0xBB, 0xBB, 0x8}, + .unk3A0 = {0x381, 0x381, 0x7FF7, 0x1, 0x7FF7, 0x1, 0x7FF7, 0x1, 0x7FF7, 0x1, 0x7FF7, 0x1, 0x7FF7, 0x1, 0x7FF7, 0x1}, + .coords = {25, 30}, + .direction = 0x23, + .range = 0x44, + } }, - [3] = + [3] = { .unk0 = 0x2F, .unk1 = 0x30, .trainers = - { - [0] = - { - .name = _("KIMBERLY"), - .facilityClass = FACILITY_CLASS_POKEFAN_F, - .unused = 0, - .speechBefore = {EC_WORD_I, EC_WORD_LIKE, EC_WORD_WORKING, EC_WORD_AT, EC_WORD_MY, EC_WORD_OWN_TEMPO}, - .speechWin = {EC_WORD_I_AM, EC_WORD_NOT, EC_WORD_BAD, EC_WORD_YOU, EC_WORD_THINK, EC_WORD_QUES}, - .speechLose = {EC_WORD_YOU_RE, EC_WORD_A, EC_WORD_MEAN, EC_WORD_KID, EC_WORD_IT, EC_WORD_SEEMS}, - .speechAfter = {EC_WORD_MY, EC_WORD_OWN_TEMPO, EC_WORD_IS, EC_WORD_RIGHT, EC_WORD_FOR, EC_WORD_ME}, - .mons = - { - [0] = - { - .species = SPECIES_UNOWN, - .heldItem = ITEM_MIRACLE_SEED, - .moves = {MOVE_HIDDEN_POWER, MOVE_NONE, MOVE_NONE, MOVE_NONE}, - .level = 0, - .ppBonuses = 0, - .hpEV = 255, - .spAttackEV = 255, - .otId = TRAINER_HILL_OTID, - .hpIV = 30, - .attackIV = 31, - .defenseIV = 30, - .speedIV = 31, - .spAttackIV = 30, - .spDefenseIV = 31, - .abilityNum = 0, - .personality = 0x202, - .nickname = _("UNOWN"), - .friendship = 255, - }, - [1] = - { - .species = SPECIES_UNOWN, - .heldItem = ITEM_MYSTIC_WATER, - .moves = {MOVE_HIDDEN_POWER, MOVE_NONE, MOVE_NONE, MOVE_NONE}, - .level = 0, - .ppBonuses = 0, - .hpEV = 255, - .spAttackEV = 255, - .otId = TRAINER_HILL_OTID, - .hpIV = 30, - .attackIV = 31, - .defenseIV = 31, - .speedIV = 30, - .spAttackIV = 30, - .spDefenseIV = 31, - .abilityNum = 0, - .personality = 0x10001, - .nickname = _("UNOWN"), - .friendship = 255, - }, - [2] = - { - .species = SPECIES_UNOWN, - .heldItem = ITEM_BLACK_BELT, - .moves = {MOVE_HIDDEN_POWER, MOVE_NONE, MOVE_NONE, MOVE_NONE}, - .level = 0, - .ppBonuses = 0, - .hpEV = 255, - .spAttackEV = 255, - .otId = TRAINER_HILL_OTID, - .hpIV = 30, - .attackIV = 30, - .defenseIV = 30, - .speedIV = 30, - .spAttackIV = 30, - .spDefenseIV = 30, - .abilityNum = 0, - .personality = 0x102, - .nickname = _("UNOWN"), - .friendship = 255, - }, - [3] = - { - .species = SPECIES_SPINDA, - .heldItem = ITEM_LUM_BERRY, - .moves = {MOVE_TEETER_DANCE, MOVE_DIZZY_PUNCH, MOVE_CALM_MIND, MOVE_BATON_PASS}, - .level = 0, - .ppBonuses = 0, - .hpEV = 110, - .defenseEV = 200, - .spDefenseEV = 200, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 0, - .personality = 0x88FE980F, - .nickname = _("SPINDA"), - .friendship = 255, - }, - [4] = - { - .species = SPECIES_PLUSLE, - .heldItem = ITEM_BRIGHT_POWDER, - .moves = {MOVE_HELPING_HAND, MOVE_THUNDERBOLT, MOVE_AGILITY, MOVE_BATON_PASS}, - .level = 0, - .ppBonuses = 0, - .speedEV = 255, - .spAttackEV = 255, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 0, - .personality = 0xF, - .nickname = _("PLUSLE"), - .friendship = 255, - }, - [5] = - { - .species = SPECIES_VOLBEAT, - .heldItem = ITEM_SITRUS_BERRY, - .moves = {MOVE_HELPING_HAND, MOVE_SIGNAL_BEAM, MOVE_SOLAR_BEAM, MOVE_MOONLIGHT}, - .level = 0, - .ppBonuses = 0, - .speedEV = 255, - .spAttackEV = 255, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 1, - .personality = 0xF, - .nickname = _("VOLBEAT"), - .friendship = 255, - }, - }, - }, - [1] = { - .name = _("FRANCISCO"), - .facilityClass = FACILITY_CLASS_POKEFAN_M, - .unused = 0, - .speechBefore = {EC_WORD_I, EC_WORD_STUDY, EC_WORD_EVERY, EC_WORD_DAY, EC_WORD_TOO, 0xFFFF}, - .speechWin = {EC_WORD_SO, EC_WORD_THAT_S, EC_WORD_HOW, EC_WORD_YOU, EC_WORD_LOSE, 0xFFFF}, - .speechLose = {EC_WORD_NO, EC_WORD_WONDER, EC_WORD_I, EC_WORD_COULDN_T, EC_WORD_BEAT, EC_WORD_YOU}, - .speechAfter = {EC_WORD_YES, EC_WORD_ELLIPSIS, 0xFFFF, EC_WORD_THANK_YOU, 0xFFFF, 0xFFFF}, - .mons = - { - [0] = - { - .species = SPECIES_SPINDA, - .heldItem = ITEM_LUM_BERRY, - .moves = {MOVE_TEETER_DANCE, MOVE_DIZZY_PUNCH, MOVE_CALM_MIND, MOVE_BATON_PASS}, - .level = 0, - .ppBonuses = 0, - .hpEV = 110, - .defenseEV = 200, - .spDefenseEV = 200, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 0, - .personality = 0xE2880098, - .nickname = _("SPINDA"), - .friendship = 255, - }, - [1] = - { - .species = SPECIES_MINUN, - .heldItem = ITEM_BRIGHT_POWDER, - .moves = {MOVE_HELPING_HAND, MOVE_THUNDERBOLT, MOVE_AGILITY, MOVE_BATON_PASS}, - .level = 0, - .ppBonuses = 0, - .speedEV = 255, - .spAttackEV = 255, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 0, - .personality = 0x8C, - .nickname = _("MINUN"), - .friendship = 255, - }, - [2] = - { - .species = SPECIES_ILLUMISE, - .heldItem = ITEM_SITRUS_BERRY, - .moves = {MOVE_HELPING_HAND, MOVE_WISH, MOVE_THUNDERBOLT, MOVE_MOONLIGHT}, - .level = 0, - .ppBonuses = 0, - .speedEV = 255, - .spAttackEV = 255, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 0, - .personality = 0xF, - .nickname = _("ILLUMISE"), - .friendship = 255, - }, - [3] = - { - .species = SPECIES_UNOWN, - .heldItem = ITEM_CHARCOAL, - .moves = {MOVE_HIDDEN_POWER, MOVE_NONE, MOVE_NONE, MOVE_NONE}, - .level = 0, - .ppBonuses = 0, - .hpEV = 255, - .spAttackEV = 255, - .otId = TRAINER_HILL_OTID, - .hpIV = 30, - .attackIV = 31, - .defenseIV = 30, - .speedIV = 30, - .spAttackIV = 30, - .spDefenseIV = 31, - .abilityNum = 0, - .personality = 0x302, - .nickname = _("UNOWN"), - .friendship = 255, - }, - [4] = - { - .species = SPECIES_UNOWN, - .heldItem = ITEM_SOFT_SAND, - .moves = {MOVE_HIDDEN_POWER, MOVE_NONE, MOVE_NONE, MOVE_NONE}, - .level = 0, - .ppBonuses = 0, - .hpEV = 255, - .attackEV = 255, - .otId = TRAINER_HILL_OTID, - .hpIV = 31, - .attackIV = 30, - .defenseIV = 31, - .speedIV = 31, - .spAttackIV = 30, - .spDefenseIV = 30, - .abilityNum = 0, - .personality = 0x203, - .nickname = _("UNOWN"), - .friendship = 255, - }, - [5] = - { - .species = SPECIES_UNOWN, - .heldItem = ITEM_TWISTED_SPOON, - .moves = {MOVE_HIDDEN_POWER, MOVE_NONE, MOVE_NONE, MOVE_NONE}, - .level = 0, - .ppBonuses = 0, - .hpEV = 255, - .spAttackEV = 255, - .otId = TRAINER_HILL_OTID, - .hpIV = 31, - .attackIV = 31, - .defenseIV = 30, - .speedIV = 30, - .spAttackIV = 31, - .spDefenseIV = 31, - .abilityNum = 0, - .personality = 0x301, - .nickname = _("UNOWN"), - .friendship = 255, + [0] = + { + .name = _("KIMBERLY"), + .facilityClass = FACILITY_CLASS_POKEFAN_F, + .unused = 0, + .speechBefore = {EC_WORD_I, EC_WORD_LIKE, EC_WORD_WORKING, EC_WORD_AT, EC_WORD_MY, EC_WORD_OWN_TEMPO}, + .speechWin = {EC_WORD_I_AM, EC_WORD_NOT, EC_WORD_BAD, EC_WORD_YOU, EC_WORD_THINK, EC_WORD_QUES}, + .speechLose = {EC_WORD_YOU_RE, EC_WORD_A, EC_WORD_MEAN, EC_WORD_KID, EC_WORD_IT, EC_WORD_SEEMS}, + .speechAfter = {EC_WORD_MY, EC_WORD_OWN_TEMPO, EC_WORD_IS, EC_WORD_RIGHT, EC_WORD_FOR, EC_WORD_ME}, + .mons = + { + [0] = + { + .species = SPECIES_UNOWN, + .heldItem = ITEM_MIRACLE_SEED, + .moves = {MOVE_HIDDEN_POWER, MOVE_NONE, MOVE_NONE, MOVE_NONE}, + .level = 0, + .ppBonuses = 0, + .hpEV = 255, + .spAttackEV = 255, + .otId = TRAINER_HILL_OTID, + .hpIV = 30, + .attackIV = 31, + .defenseIV = 30, + .speedIV = 31, + .spAttackIV = 30, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x202, + .nickname = _("UNOWN"), + .friendship = 255, + }, + [1] = + { + .species = SPECIES_UNOWN, + .heldItem = ITEM_MYSTIC_WATER, + .moves = {MOVE_HIDDEN_POWER, MOVE_NONE, MOVE_NONE, MOVE_NONE}, + .level = 0, + .ppBonuses = 0, + .hpEV = 255, + .spAttackEV = 255, + .otId = TRAINER_HILL_OTID, + .hpIV = 30, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 30, + .spAttackIV = 30, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x10001, + .nickname = _("UNOWN"), + .friendship = 255, + }, + [2] = + { + .species = SPECIES_UNOWN, + .heldItem = ITEM_BLACK_BELT, + .moves = {MOVE_HIDDEN_POWER, MOVE_NONE, MOVE_NONE, MOVE_NONE}, + .level = 0, + .ppBonuses = 0, + .hpEV = 255, + .spAttackEV = 255, + .otId = TRAINER_HILL_OTID, + .hpIV = 30, + .attackIV = 30, + .defenseIV = 30, + .speedIV = 30, + .spAttackIV = 30, + .spDefenseIV = 30, + .abilityNum = 0, + .personality = 0x102, + .nickname = _("UNOWN"), + .friendship = 255, + }, + [3] = + { + .species = SPECIES_SPINDA, + .heldItem = ITEM_LUM_BERRY, + .moves = {MOVE_TEETER_DANCE, MOVE_DIZZY_PUNCH, MOVE_CALM_MIND, MOVE_BATON_PASS}, + .level = 0, + .ppBonuses = 0, + .hpEV = 110, + .defenseEV = 200, + .spDefenseEV = 200, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x88FE980F, + .nickname = _("SPINDA"), + .friendship = 255, + }, + [4] = + { + .species = SPECIES_PLUSLE, + .heldItem = ITEM_BRIGHT_POWDER, + .moves = {MOVE_HELPING_HAND, MOVE_THUNDERBOLT, MOVE_AGILITY, MOVE_BATON_PASS}, + .level = 0, + .ppBonuses = 0, + .speedEV = 255, + .spAttackEV = 255, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0xF, + .nickname = _("PLUSLE"), + .friendship = 255, + }, + [5] = + { + .species = SPECIES_VOLBEAT, + .heldItem = ITEM_SITRUS_BERRY, + .moves = {MOVE_HELPING_HAND, MOVE_SIGNAL_BEAM, MOVE_SOLAR_BEAM, MOVE_MOONLIGHT}, + .level = 0, + .ppBonuses = 0, + .speedEV = 255, + .spAttackEV = 255, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 1, + .personality = 0xF, + .nickname = _("VOLBEAT"), + .friendship = 255, + }, + }, + }, + [1] = + { + .name = _("FRANCISCO"), + .facilityClass = FACILITY_CLASS_POKEFAN_M, + .unused = 0, + .speechBefore = {EC_WORD_I, EC_WORD_STUDY, EC_WORD_EVERY, EC_WORD_DAY, EC_WORD_TOO, 0xFFFF}, + .speechWin = {EC_WORD_SO, EC_WORD_THAT_S, EC_WORD_HOW, EC_WORD_YOU, EC_WORD_LOSE, 0xFFFF}, + .speechLose = {EC_WORD_NO, EC_WORD_WONDER, EC_WORD_I, EC_WORD_COULDN_T, EC_WORD_BEAT, EC_WORD_YOU}, + .speechAfter = {EC_WORD_YES, EC_WORD_ELLIPSIS, 0xFFFF, EC_WORD_THANK_YOU, 0xFFFF, 0xFFFF}, + .mons = + { + [0] = + { + .species = SPECIES_SPINDA, + .heldItem = ITEM_LUM_BERRY, + .moves = {MOVE_TEETER_DANCE, MOVE_DIZZY_PUNCH, MOVE_CALM_MIND, MOVE_BATON_PASS}, + .level = 0, + .ppBonuses = 0, + .hpEV = 110, + .defenseEV = 200, + .spDefenseEV = 200, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0xE2880098, + .nickname = _("SPINDA"), + .friendship = 255, + }, + [1] = + { + .species = SPECIES_MINUN, + .heldItem = ITEM_BRIGHT_POWDER, + .moves = {MOVE_HELPING_HAND, MOVE_THUNDERBOLT, MOVE_AGILITY, MOVE_BATON_PASS}, + .level = 0, + .ppBonuses = 0, + .speedEV = 255, + .spAttackEV = 255, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x8C, + .nickname = _("MINUN"), + .friendship = 255, + }, + [2] = + { + .species = SPECIES_ILLUMISE, + .heldItem = ITEM_SITRUS_BERRY, + .moves = {MOVE_HELPING_HAND, MOVE_WISH, MOVE_THUNDERBOLT, MOVE_MOONLIGHT}, + .level = 0, + .ppBonuses = 0, + .speedEV = 255, + .spAttackEV = 255, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0xF, + .nickname = _("ILLUMISE"), + .friendship = 255, + }, + [3] = + { + .species = SPECIES_UNOWN, + .heldItem = ITEM_CHARCOAL, + .moves = {MOVE_HIDDEN_POWER, MOVE_NONE, MOVE_NONE, MOVE_NONE}, + .level = 0, + .ppBonuses = 0, + .hpEV = 255, + .spAttackEV = 255, + .otId = TRAINER_HILL_OTID, + .hpIV = 30, + .attackIV = 31, + .defenseIV = 30, + .speedIV = 30, + .spAttackIV = 30, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x302, + .nickname = _("UNOWN"), + .friendship = 255, + }, + [4] = + { + .species = SPECIES_UNOWN, + .heldItem = ITEM_SOFT_SAND, + .moves = {MOVE_HIDDEN_POWER, MOVE_NONE, MOVE_NONE, MOVE_NONE}, + .level = 0, + .ppBonuses = 0, + .hpEV = 255, + .attackEV = 255, + .otId = TRAINER_HILL_OTID, + .hpIV = 31, + .attackIV = 30, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 30, + .spDefenseIV = 30, + .abilityNum = 0, + .personality = 0x203, + .nickname = _("UNOWN"), + .friendship = 255, + }, + [5] = + { + .species = SPECIES_UNOWN, + .heldItem = ITEM_TWISTED_SPOON, + .moves = {MOVE_HIDDEN_POWER, MOVE_NONE, MOVE_NONE, MOVE_NONE}, + .level = 0, + .ppBonuses = 0, + .hpEV = 255, + .spAttackEV = 255, + .otId = TRAINER_HILL_OTID, + .hpIV = 31, + .attackIV = 31, + .defenseIV = 30, + .speedIV = 30, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x301, + .nickname = _("UNOWN"), + .friendship = 255, + }, + }, }, - }, }, - }, - .data = {0x31, 0x3B, 0x3B, 0x3B, 0x39, 0x39, 0x13, 0x14, 0x15, 0x38, 0x39, 0x3A, 0x3B, 0x3B, 0x3B, 0x8, 0x69, 0x40, 0x6D, 0x41, 0x73, 0x41, 0x5E, 0x41, 0x71, 0x42, 0x45, 0x45, 0x45, 0x45, 0x45, 0x8, 0x43, 0x73, 0x64, 0x73, 0x43, 0x73, 0x64, 0x73, 0x41, 0x73, 0x45, 0x45, 0x45, 0x45, 0x45, 0x8, 0x65, 0x40, 0x73, 0x42, 0x6D, 0x42, 0x73, 0x42, 0x6D, 0x42, 0x45, 0x45, 0x45, 0x45, 0x45, 0x8, 0x6C, 0x73, 0x41, 0x73, 0x64, 0x73, 0x40, 0x73, 0x64, 0x73, 0x40, 0x73, 0x42, 0x73, 0x41, 0x8, 0x69, 0x40, 0x6D, 0x41, 0x73, 0x40, 0x6D, 0x43, 0x73, 0x43, 0x6D, 0x42, 0x73, 0x42, 0x6D, 0x8, 0x40, 0x73, 0x64, 0x73, 0x43, 0x73, 0x64, 0x73, 0x41, 0x73, 0x64, 0x73, 0x41, 0x73, 0x64, 0x8, 0x65, 0x42, 0x73, 0x42, 0x6D, 0x41, 0x73, 0x40, 0x6D, 0x42, 0x73, 0x41, 0x6D, 0x42, 0x73, 0x8, 0x6C, 0x73, 0x41, 0x73, 0x64, 0x73, 0x42, 0x73, 0x64, 0x73, 0x42, 0x73, 0x64, 0x73, 0x42, 0x8, 0x69, 0x40, 0x6D, 0x41, 0x73, 0x41, 0x6D, 0x42, 0x73, 0x43, 0x6D, 0x41, 0x73, 0x43, 0x6D, 0x8, 0x40, 0x73, 0x64, 0x73, 0x43, 0x73, 0x64, 0x73, 0x43, 0x73, 0x64, 0x73, 0x42, 0x73, 0x64, 0x8, 0x65, 0x42, 0x73, 0x42, 0x6D, 0x43, 0x73, 0x42, 0x6D, 0x42, 0x73, 0x41, 0x6D, 0x40, 0x73, 0x8, 0x6C, 0x73, 0x40, 0x73, 0x64, 0x73, 0x41, 0x73, 0x64, 0x73, 0x42, 0x73, 0x64, 0x73, 0x42, 0x8, 0x69, 0x40, 0x6D, 0x42, 0x73, 0x42, 0x6D, 0x43, 0x73, 0x40, 0x6D, 0x41, 0x73, 0x40, 0x6D, 0x8, 0x40, 0x73, 0x64, 0x73, 0x40, 0x73, 0x64, 0x73, 0x40, 0x73, 0x64, 0x73, 0x43, 0x73, 0x64, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8}, - .unk3A0 = {0x381, 0x1, 0x2201, 0x1, 0x8881, 0x1, 0x2223, 0x1, 0x8889, 0x1, 0x2223, 0x1, 0x8889, 0x1, 0x2223, 0xFFFF}, - .coords = {42, 46}, - .direction = 0x23, - .range = 0x33, + .display = { + .data = {0x31, 0x3B, 0x3B, 0x3B, 0x39, 0x39, 0x13, 0x14, 0x15, 0x38, 0x39, 0x3A, 0x3B, 0x3B, 0x3B, 0x8, 0x69, 0x40, 0x6D, 0x41, 0x73, 0x41, 0x5E, 0x41, 0x71, 0x42, 0x45, 0x45, 0x45, 0x45, 0x45, 0x8, 0x43, 0x73, 0x64, 0x73, 0x43, 0x73, 0x64, 0x73, 0x41, 0x73, 0x45, 0x45, 0x45, 0x45, 0x45, 0x8, 0x65, 0x40, 0x73, 0x42, 0x6D, 0x42, 0x73, 0x42, 0x6D, 0x42, 0x45, 0x45, 0x45, 0x45, 0x45, 0x8, 0x6C, 0x73, 0x41, 0x73, 0x64, 0x73, 0x40, 0x73, 0x64, 0x73, 0x40, 0x73, 0x42, 0x73, 0x41, 0x8, 0x69, 0x40, 0x6D, 0x41, 0x73, 0x40, 0x6D, 0x43, 0x73, 0x43, 0x6D, 0x42, 0x73, 0x42, 0x6D, 0x8, 0x40, 0x73, 0x64, 0x73, 0x43, 0x73, 0x64, 0x73, 0x41, 0x73, 0x64, 0x73, 0x41, 0x73, 0x64, 0x8, 0x65, 0x42, 0x73, 0x42, 0x6D, 0x41, 0x73, 0x40, 0x6D, 0x42, 0x73, 0x41, 0x6D, 0x42, 0x73, 0x8, 0x6C, 0x73, 0x41, 0x73, 0x64, 0x73, 0x42, 0x73, 0x64, 0x73, 0x42, 0x73, 0x64, 0x73, 0x42, 0x8, 0x69, 0x40, 0x6D, 0x41, 0x73, 0x41, 0x6D, 0x42, 0x73, 0x43, 0x6D, 0x41, 0x73, 0x43, 0x6D, 0x8, 0x40, 0x73, 0x64, 0x73, 0x43, 0x73, 0x64, 0x73, 0x43, 0x73, 0x64, 0x73, 0x42, 0x73, 0x64, 0x8, 0x65, 0x42, 0x73, 0x42, 0x6D, 0x43, 0x73, 0x42, 0x6D, 0x42, 0x73, 0x41, 0x6D, 0x40, 0x73, 0x8, 0x6C, 0x73, 0x40, 0x73, 0x64, 0x73, 0x41, 0x73, 0x64, 0x73, 0x42, 0x73, 0x64, 0x73, 0x42, 0x8, 0x69, 0x40, 0x6D, 0x42, 0x73, 0x42, 0x6D, 0x43, 0x73, 0x40, 0x6D, 0x41, 0x73, 0x40, 0x6D, 0x8, 0x40, 0x73, 0x64, 0x73, 0x40, 0x73, 0x64, 0x73, 0x40, 0x73, 0x64, 0x73, 0x43, 0x73, 0x64, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8}, + .unk3A0 = {0x381, 0x1, 0x2201, 0x1, 0x8881, 0x1, 0x2223, 0x1, 0x8889, 0x1, 0x2223, 0x1, 0x8889, 0x1, 0x2223, 0xFFFF}, + .coords = {42, 46}, + .direction = 0x23, + .range = 0x33, + } }, - }, }; + static const struct TrHillTag sDataTagUnique = { .unkField_0 = 8, .unused1 = 3, - .unkField_2 = 4, - .unused3 = 0, - .unused4 = 243, - .unused5 = 82, - .unused6 = 6, - .floors = - { - [0] = + .numFloors = 4, + .checksum = 0x000652F3 +}; + +static const struct TrHillFloor sDataTagUnique_floors[] = { + [0] = { .unk0 = 0x31, .unk1 = 0x32, .trainers = - { - [0] = - { - .name = _("MEREDITH"), - .facilityClass = FACILITY_CLASS_PKMN_RANGER_F, - .unused = 0, - .speechBefore = {EC_WORD_UM, EC_WORD_ELLIPSIS, 0xFFFF, EC_WORD_I, EC_WORD_ELLIPSIS, 0xFFFF}, - .speechWin = {EC_WORD_OH, EC_WORD_EXCL, 0xFFFF, EC_WORD_UM, EC_WORD_ELLIPSIS, EC_WORD_YAY}, - .speechLose = {EC_WORD_UM, EC_WORD_ELLIPSIS, 0xFFFF, EC_WORD_WAAAH, EC_WORD_ELLIPSIS, 0xFFFF}, - .speechAfter = {EC_WORD_UM, EC_WORD_ELLIPSIS, 0xFFFF, EC_WORD_I_AM, EC_WORD_SAD, EC_WORD_ELLIPSIS}, - .mons = - { - [0] = - { - .species = SPECIES_SUNFLORA, - .heldItem = ITEM_PERSIM_BERRY, - .moves = {MOVE_PETAL_DANCE, MOVE_GRASS_WHISTLE, MOVE_LIGHT_SCREEN, MOVE_SUNNY_DAY}, - .level = 0, - .ppBonuses = 0, - .hpEV = 255, - .defenseEV = 155, - .spDefenseEV = 100, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 0, - .personality = 0x0, - .nickname = _("SUNFLORA"), - .friendship = 255, - }, - [1] = - { - .species = SPECIES_TANGELA, - .heldItem = ITEM_QUICK_CLAW, - .moves = {MOVE_GIGA_DRAIN, MOVE_SLEEP_POWDER, MOVE_AMNESIA, MOVE_SUNNY_DAY}, - .level = 0, - .ppBonuses = 0, - .hpEV = 255, - .spDefenseEV = 255, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 0, - .personality = 0x91, - .nickname = _("TANGELA"), - .friendship = 255, - }, - [2] = - { - .species = SPECIES_VENUSAUR, - .heldItem = ITEM_LEFTOVERS, - .moves = {MOVE_SOLAR_BEAM, MOVE_EARTHQUAKE, MOVE_SYNTHESIS, MOVE_SUNNY_DAY}, - .level = 0, - .ppBonuses = 0, - .hpEV = 100, - .attackEV = 110, - .defenseEV = 100, - .spAttackEV = 100, - .spDefenseEV = 100, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 0, - .personality = 0x1F, - .nickname = _("VENUSAUR"), - .friendship = 255, - }, - [3] = - { - .species = SPECIES_LANTURN, - .heldItem = ITEM_PERSIM_BERRY, - .moves = {MOVE_SPARK, MOVE_WATER_PULSE, MOVE_CONFUSE_RAY, MOVE_RAIN_DANCE}, - .level = 0, - .ppBonuses = 0, - .speedEV = 255, - .spAttackEV = 255, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 0, - .personality = 0xF, - .nickname = _("LANTURN"), - .friendship = 255, - }, - [4] = - { - .species = SPECIES_MANECTRIC, - .heldItem = ITEM_FOCUS_BAND, - .moves = {MOVE_THUNDERBOLT, MOVE_HEADBUTT, MOVE_BITE, MOVE_RAIN_DANCE}, - .level = 0, - .ppBonuses = 0, - .speedEV = 255, - .spAttackEV = 255, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 1, - .personality = 0xF, - .nickname = _("MANECTRIC"), - .friendship = 255, - }, - [5] = - { - .species = SPECIES_RAIKOU, - .heldItem = ITEM_BRIGHT_POWDER, - .moves = {MOVE_THUNDER, MOVE_CRUNCH, MOVE_ROAR, MOVE_RAIN_DANCE}, - .level = 0, - .ppBonuses = 0, - .speedEV = 255, - .spAttackEV = 255, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 0, - .personality = 0xF, - .nickname = _("RAIKOU"), - .friendship = 255, - }, - }, - }, - [1] = { - .name = _("BERNARD"), - .facilityClass = FACILITY_CLASS_KINDLER, - .unused = 0, - .speechBefore = {EC_WORD_I, EC_WORD_CAN_T, EC_WORD_LOSE, EC_WORD_THIS, EC_WORD_HOT, EC_WORD_BATTLE}, - .speechWin = {EC_WORD_DID, EC_WORD_I, EC_WORD_COOL, EC_WORD_YOU, EC_WORD_DOWN, EC_WORD_QUES}, - .speechLose = {EC_WORD_AIYEEH, EC_WORD_EXCL, EC_WORD_YOU_RE, EC_WORD_A, EC_WORD_TERRIBLE, EC_WORD_PERSON}, - .speechAfter = {EC_WORD_YOUR, EC_WORD_HEART, EC_WORD_MUST_BE, EC_WORD_ICE, EC_WORD_COLD, EC_WORD_ELLIPSIS}, - .mons = - { - [0] = - { - .species = SPECIES_RELICANTH, - .heldItem = ITEM_QUICK_CLAW, - .moves = {MOVE_ANCIENT_POWER, MOVE_WATER_PULSE, MOVE_MUD_SPORT, MOVE_RAIN_DANCE}, - .level = 0, - .ppBonuses = 0, - .hpEV = 155, - .defenseEV = 100, - .spDefenseEV = 255, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 0, - .personality = 0x2F, - .nickname = _("RELICANTH"), - .friendship = 255, - }, - [1] = - { - .species = SPECIES_GOLDUCK, - .heldItem = ITEM_LAX_INCENSE, - .moves = {MOVE_SURF, MOVE_PSYBEAM, MOVE_BRICK_BREAK, MOVE_RAIN_DANCE}, - .level = 0, - .ppBonuses = 0, - .speedEV = 255, - .spAttackEV = 255, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 0, - .personality = 0xF, - .nickname = _("GOLDUCK"), - .friendship = 255, - }, - [2] = - { - .species = SPECIES_BLASTOISE, - .heldItem = ITEM_SHELL_BELL, - .moves = {MOVE_HYDRO_PUMP, MOVE_BITE, MOVE_MIRROR_COAT, MOVE_RAIN_DANCE}, - .level = 0, - .ppBonuses = 0, - .speedEV = 255, - .spAttackEV = 255, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 0, - .personality = 0x28, - .nickname = _("BLASTOISE"), - .friendship = 255, - }, - [3] = - { - .species = SPECIES_MAGCARGO, - .heldItem = ITEM_QUICK_CLAW, - .moves = {MOVE_HEAT_WAVE, MOVE_ROCK_SLIDE, MOVE_PROTECT, MOVE_SUNNY_DAY}, - .level = 0, - .ppBonuses = 0, - .hpEV = 255, - .spDefenseEV = 255, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 1, - .personality = 0x93, - .nickname = _("MAGCARGO"), - .friendship = 255, - }, - [4] = - { - .species = SPECIES_RAPIDASH, - .heldItem = ITEM_KINGS_ROCK, - .moves = {MOVE_FIRE_BLAST, MOVE_BOUNCE, MOVE_QUICK_ATTACK, MOVE_SUNNY_DAY}, - .level = 0, - .ppBonuses = 0, - .speedEV = 255, - .spAttackEV = 255, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 1, - .personality = 0xF, - .nickname = _("RAPIDASH"), - .friendship = 255, - }, - [5] = - { - .species = SPECIES_MOLTRES, - .heldItem = ITEM_BRIGHT_POWDER, - .moves = {MOVE_SKY_ATTACK, MOVE_AERIAL_ACE, MOVE_ROAR, MOVE_SUNNY_DAY}, - .level = 0, - .ppBonuses = 0, - .speedEV = 255, - .spAttackEV = 255, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 0, - .personality = 0xF, - .nickname = _("MOLTRES"), - .friendship = 255, + [0] = + { + .name = _("MEREDITH"), + .facilityClass = FACILITY_CLASS_PKMN_RANGER_F, + .unused = 0, + .speechBefore = {EC_WORD_UM, EC_WORD_ELLIPSIS, 0xFFFF, EC_WORD_I, EC_WORD_ELLIPSIS, 0xFFFF}, + .speechWin = {EC_WORD_OH, EC_WORD_EXCL, 0xFFFF, EC_WORD_UM, EC_WORD_ELLIPSIS, EC_WORD_YAY}, + .speechLose = {EC_WORD_UM, EC_WORD_ELLIPSIS, 0xFFFF, EC_WORD_WAAAH, EC_WORD_ELLIPSIS, 0xFFFF}, + .speechAfter = {EC_WORD_UM, EC_WORD_ELLIPSIS, 0xFFFF, EC_WORD_I_AM, EC_WORD_SAD, EC_WORD_ELLIPSIS}, + .mons = + { + [0] = + { + .species = SPECIES_SUNFLORA, + .heldItem = ITEM_PERSIM_BERRY, + .moves = {MOVE_PETAL_DANCE, MOVE_GRASS_WHISTLE, MOVE_LIGHT_SCREEN, MOVE_SUNNY_DAY}, + .level = 0, + .ppBonuses = 0, + .hpEV = 255, + .defenseEV = 155, + .spDefenseEV = 100, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x0, + .nickname = _("SUNFLORA"), + .friendship = 255, + }, + [1] = + { + .species = SPECIES_TANGELA, + .heldItem = ITEM_QUICK_CLAW, + .moves = {MOVE_GIGA_DRAIN, MOVE_SLEEP_POWDER, MOVE_AMNESIA, MOVE_SUNNY_DAY}, + .level = 0, + .ppBonuses = 0, + .hpEV = 255, + .spDefenseEV = 255, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x91, + .nickname = _("TANGELA"), + .friendship = 255, + }, + [2] = + { + .species = SPECIES_VENUSAUR, + .heldItem = ITEM_LEFTOVERS, + .moves = {MOVE_SOLAR_BEAM, MOVE_EARTHQUAKE, MOVE_SYNTHESIS, MOVE_SUNNY_DAY}, + .level = 0, + .ppBonuses = 0, + .hpEV = 100, + .attackEV = 110, + .defenseEV = 100, + .spAttackEV = 100, + .spDefenseEV = 100, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x1F, + .nickname = _("VENUSAUR"), + .friendship = 255, + }, + [3] = + { + .species = SPECIES_LANTURN, + .heldItem = ITEM_PERSIM_BERRY, + .moves = {MOVE_SPARK, MOVE_WATER_PULSE, MOVE_CONFUSE_RAY, MOVE_RAIN_DANCE}, + .level = 0, + .ppBonuses = 0, + .speedEV = 255, + .spAttackEV = 255, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0xF, + .nickname = _("LANTURN"), + .friendship = 255, + }, + [4] = + { + .species = SPECIES_MANECTRIC, + .heldItem = ITEM_FOCUS_BAND, + .moves = {MOVE_THUNDERBOLT, MOVE_HEADBUTT, MOVE_BITE, MOVE_RAIN_DANCE}, + .level = 0, + .ppBonuses = 0, + .speedEV = 255, + .spAttackEV = 255, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 1, + .personality = 0xF, + .nickname = _("MANECTRIC"), + .friendship = 255, + }, + [5] = + { + .species = SPECIES_RAIKOU, + .heldItem = ITEM_BRIGHT_POWDER, + .moves = {MOVE_THUNDER, MOVE_CRUNCH, MOVE_ROAR, MOVE_RAIN_DANCE}, + .level = 0, + .ppBonuses = 0, + .speedEV = 255, + .spAttackEV = 255, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0xF, + .nickname = _("RAIKOU"), + .friendship = 255, + }, + }, + }, + [1] = + { + .name = _("BERNARD"), + .facilityClass = FACILITY_CLASS_KINDLER, + .unused = 0, + .speechBefore = {EC_WORD_I, EC_WORD_CAN_T, EC_WORD_LOSE, EC_WORD_THIS, EC_WORD_HOT, EC_WORD_BATTLE}, + .speechWin = {EC_WORD_DID, EC_WORD_I, EC_WORD_COOL, EC_WORD_YOU, EC_WORD_DOWN, EC_WORD_QUES}, + .speechLose = {EC_WORD_AIYEEH, EC_WORD_EXCL, EC_WORD_YOU_RE, EC_WORD_A, EC_WORD_TERRIBLE, EC_WORD_PERSON}, + .speechAfter = {EC_WORD_YOUR, EC_WORD_HEART, EC_WORD_MUST_BE, EC_WORD_ICE, EC_WORD_COLD, EC_WORD_ELLIPSIS}, + .mons = + { + [0] = + { + .species = SPECIES_RELICANTH, + .heldItem = ITEM_QUICK_CLAW, + .moves = {MOVE_ANCIENT_POWER, MOVE_WATER_PULSE, MOVE_MUD_SPORT, MOVE_RAIN_DANCE}, + .level = 0, + .ppBonuses = 0, + .hpEV = 155, + .defenseEV = 100, + .spDefenseEV = 255, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x2F, + .nickname = _("RELICANTH"), + .friendship = 255, + }, + [1] = + { + .species = SPECIES_GOLDUCK, + .heldItem = ITEM_LAX_INCENSE, + .moves = {MOVE_SURF, MOVE_PSYBEAM, MOVE_BRICK_BREAK, MOVE_RAIN_DANCE}, + .level = 0, + .ppBonuses = 0, + .speedEV = 255, + .spAttackEV = 255, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0xF, + .nickname = _("GOLDUCK"), + .friendship = 255, + }, + [2] = + { + .species = SPECIES_BLASTOISE, + .heldItem = ITEM_SHELL_BELL, + .moves = {MOVE_HYDRO_PUMP, MOVE_BITE, MOVE_MIRROR_COAT, MOVE_RAIN_DANCE}, + .level = 0, + .ppBonuses = 0, + .speedEV = 255, + .spAttackEV = 255, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x28, + .nickname = _("BLASTOISE"), + .friendship = 255, + }, + [3] = + { + .species = SPECIES_MAGCARGO, + .heldItem = ITEM_QUICK_CLAW, + .moves = {MOVE_HEAT_WAVE, MOVE_ROCK_SLIDE, MOVE_PROTECT, MOVE_SUNNY_DAY}, + .level = 0, + .ppBonuses = 0, + .hpEV = 255, + .spDefenseEV = 255, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 1, + .personality = 0x93, + .nickname = _("MAGCARGO"), + .friendship = 255, + }, + [4] = + { + .species = SPECIES_RAPIDASH, + .heldItem = ITEM_KINGS_ROCK, + .moves = {MOVE_FIRE_BLAST, MOVE_BOUNCE, MOVE_QUICK_ATTACK, MOVE_SUNNY_DAY}, + .level = 0, + .ppBonuses = 0, + .speedEV = 255, + .spAttackEV = 255, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 1, + .personality = 0xF, + .nickname = _("RAPIDASH"), + .friendship = 255, + }, + [5] = + { + .species = SPECIES_MOLTRES, + .heldItem = ITEM_BRIGHT_POWDER, + .moves = {MOVE_SKY_ATTACK, MOVE_AERIAL_ACE, MOVE_ROAR, MOVE_SUNNY_DAY}, + .level = 0, + .ppBonuses = 0, + .speedEV = 255, + .spAttackEV = 255, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0xF, + .nickname = _("MOLTRES"), + .friendship = 255, + }, + }, }, - }, }, - }, - .data = {0xF1, 0xF5, 0xFB, 0xF5, 0xE6, 0xE6, 0x1B, 0x14, 0x15, 0xF8, 0xF9, 0xFA, 0xFB, 0xFB, 0xFB, 0x8, 0xF1, 0xEB, 0xFB, 0xEB, 0xEC, 0xEC, 0xEC, 0xF9, 0xE6, 0xEE, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0x8, 0xF1, 0xEB, 0xFB, 0xEB, 0xFB, 0x9B, 0x9B, 0xFB, 0xEB, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEB, 0x8, 0xF1, 0xEB, 0xFB, 0xEB, 0x9B, 0xDB, 0xDB, 0x9B, 0xEC, 0xFB, 0xF5, 0xF5, 0xF5, 0xFB, 0xEB, 0x8, 0xF1, 0xEB, 0xFB, 0xEB, 0xF5, 0x95, 0x95, 0xF5, 0xF5, 0xF5, 0xEB, 0xEC, 0xEB, 0xFB, 0xEB, 0x8, 0xED, 0xEB, 0xFB, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0x8, 0xF4, 0xEB, 0xFB, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0x8, 0xF1, 0xEB, 0xFB, 0xEB, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xFB, 0xEB, 0xFB, 0xEC, 0x8, 0xF1, 0xEB, 0xFB, 0xEB, 0xFB, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xEB, 0xF5, 0xFB, 0x8, 0xF1, 0xEC, 0xFB, 0xEB, 0xFB, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEB, 0xFB, 0x8, 0xF1, 0xF5, 0xF5, 0xEB, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xFB, 0xEB, 0xFB, 0x8, 0xF1, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEB, 0xFB, 0xEB, 0xFB, 0x8, 0xF1, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xEB, 0xFB, 0xEB, 0xFB, 0x8, 0xF1, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xFB, 0xEC, 0xFB, 0x8, 0xF1, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8}, - .unk3A0 = {0x381, 0x5E01, 0x50FF, 0x5083, 0x503B, 0x5FEB, 0xC02B, 0x5FEB, 0x5009, 0x57FD, 0x1005, 0x7FF5, 0x15, 0x7FF5, 0x1, 0xFFFF}, - .coords = {52, 55}, - .direction = 0x23, - .range = 0x22, + .display = { + .data = {0xF1, 0xF5, 0xFB, 0xF5, 0xE6, 0xE6, 0x1B, 0x14, 0x15, 0xF8, 0xF9, 0xFA, 0xFB, 0xFB, 0xFB, 0x8, 0xF1, 0xEB, 0xFB, 0xEB, 0xEC, 0xEC, 0xEC, 0xF9, 0xE6, 0xEE, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0x8, 0xF1, 0xEB, 0xFB, 0xEB, 0xFB, 0x9B, 0x9B, 0xFB, 0xEB, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEB, 0x8, 0xF1, 0xEB, 0xFB, 0xEB, 0x9B, 0xDB, 0xDB, 0x9B, 0xEC, 0xFB, 0xF5, 0xF5, 0xF5, 0xFB, 0xEB, 0x8, 0xF1, 0xEB, 0xFB, 0xEB, 0xF5, 0x95, 0x95, 0xF5, 0xF5, 0xF5, 0xEB, 0xEC, 0xEB, 0xFB, 0xEB, 0x8, 0xED, 0xEB, 0xFB, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0x8, 0xF4, 0xEB, 0xFB, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0x8, 0xF1, 0xEB, 0xFB, 0xEB, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xFB, 0xEB, 0xFB, 0xEC, 0x8, 0xF1, 0xEB, 0xFB, 0xEB, 0xFB, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xEB, 0xF5, 0xFB, 0x8, 0xF1, 0xEC, 0xFB, 0xEB, 0xFB, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEB, 0xFB, 0x8, 0xF1, 0xF5, 0xF5, 0xEB, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xFB, 0xEB, 0xFB, 0x8, 0xF1, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEB, 0xFB, 0xEB, 0xFB, 0x8, 0xF1, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xEB, 0xFB, 0xEB, 0xFB, 0x8, 0xF1, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xFB, 0xEC, 0xFB, 0x8, 0xF1, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8}, + .unk3A0 = {0x381, 0x5E01, 0x50FF, 0x5083, 0x503B, 0x5FEB, 0xC02B, 0x5FEB, 0x5009, 0x57FD, 0x1005, 0x7FF5, 0x15, 0x7FF5, 0x1, 0xFFFF}, + .coords = {52, 55}, + .direction = 0x23, + .range = 0x22, + } }, - [1] = + [1] = { .unk0 = 0x33, .unk1 = 0x34, .trainers = - { - [0] = - { - .name = _("ABRAHAM"), - .facilityClass = FACILITY_CLASS_RUIN_MANIAC, - .unused = 0, - .speechBefore = {EC_WORD_I, EC_WORD_LIKE, EC_WORD_THIS, EC_WORD_POKEMON, EC_WORD_THE, EC_WORD_BEST}, - .speechWin = {EC_WORD_WHAT, EC_WORD_A, EC_WORD_GREAT, EC_WORD_POKEMON, EC_WORD_IT, EC_WORD_IS}, - .speechLose = {EC_WORD_I, EC_WORD_CONFUSED, EC_WORD_A, EC_WORD_MOVE, EC_WORD_WITH, EC_WORD_ANOTHER}, - .speechAfter = {EC_WORD_I, EC_WORD_WANT, EC_WORD_A, EC_MOVE(SKETCH), EC_WORD_OF, EC_WORD_YOU}, - .mons = - { - [0] = - { - .species = SPECIES_SMEARGLE, - .heldItem = ITEM_SCOPE_LENS, - .moves = {MOVE_EARTHQUAKE, MOVE_SHADOW_BALL, MOVE_AERIAL_ACE, MOVE_IMPRISON}, - .level = 0, - .ppBonuses = 0, - .hpEV = 252, - .attackEV = 6, - .speedEV = 252, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 0, - .personality = 0x8A, - .nickname = _("SMEARGLE"), - .friendship = 255, - }, - [1] = - { - .species = SPECIES_SMEARGLE, - .heldItem = ITEM_CHESTO_BERRY, - .moves = {MOVE_REST, MOVE_THUNDER_WAVE, MOVE_FLAMETHROWER, MOVE_IMPRISON}, - .level = 0, - .ppBonuses = 0, - .hpEV = 252, - .speedEV = 252, - .spAttackEV = 6, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 0, - .personality = 0x87, - .nickname = _("SMEARGLE"), - .friendship = 255, - }, - [2] = - { - .species = SPECIES_SMEARGLE, - .heldItem = ITEM_QUICK_CLAW, - .moves = {MOVE_TEETER_DANCE, MOVE_LOCK_ON, MOVE_SHEER_COLD, MOVE_EXPLOSION}, - .level = 0, - .ppBonuses = 0, - .hpEV = 252, - .attackEV = 6, - .speedEV = 252, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 0, - .personality = 0xD, - .nickname = _("SMEARGLE"), - .friendship = 255, - }, - [3] = - { - .species = SPECIES_SMEARGLE, - .heldItem = ITEM_SCOPE_LENS, - .moves = {MOVE_PSYCHIC, MOVE_SURF, MOVE_THUNDERBOLT, MOVE_IMPRISON}, - .level = 0, - .ppBonuses = 0, - .hpEV = 252, - .speedEV = 252, - .spAttackEV = 6, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 0, - .personality = 0xA, - .nickname = _("SMEARGLE"), - .friendship = 255, - }, - [4] = - { - .species = SPECIES_SMEARGLE, - .heldItem = ITEM_LEFTOVERS, - .moves = {MOVE_TOXIC, MOVE_PROTECT, MOVE_WILL_O_WISP, MOVE_IMPRISON}, - .level = 0, - .ppBonuses = 0, - .hpEV = 252, - .defenseEV = 6, - .speedEV = 252, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 0, - .personality = 0xA, - .nickname = _("SMEARGLE"), - .friendship = 255, - }, - [5] = - { - .species = SPECIES_SMEARGLE, - .heldItem = ITEM_QUICK_CLAW, - .moves = {MOVE_TEETER_DANCE, MOVE_LOCK_ON, MOVE_SHEER_COLD, MOVE_DESTINY_BOND}, - .level = 0, - .ppBonuses = 0, - .hpEV = 252, - .defenseEV = 6, - .speedEV = 252, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 0, - .personality = 0x8A, - .nickname = _("SMEARGLE"), - .friendship = 255, - }, - }, - }, - [1] = { - .name = _("LUC"), - .facilityClass = FACILITY_CLASS_TUBER_M, - .unused = 0, - .speechBefore = {EC_WORD_I, EC_WORD_HAVE, EC_WORD_A, EC_WORD_COOL, EC_WORD_RARE, EC_WORD_MOVE}, - .speechWin = {EC_WORD_MY, EC_WORD_RARE, EC_WORD_MOVE, EC_WORD_IS, EC_WORD_COOL, EC_WORD_ISN_T_IT_QUES}, - .speechLose = {EC_WORD_DIDN_T, EC_WORD_YOU, EC_WORD_SEE, EC_WORD_MY, EC_WORD_MOVE, EC_WORD_QUES}, - .speechAfter = {EC_WORD_I_AM, EC_WORD_SMART, EC_WORD_BUT, EC_WORD_ALSO, EC_WORD_WEAK, EC_WORD_ELLIPSIS}, - .mons = - { - [0] = - { - .species = SPECIES_STARYU, - .heldItem = ITEM_LEFTOVERS, - .moves = {MOVE_CAMOUFLAGE, MOVE_NONE, MOVE_NONE, MOVE_NONE}, - .level = 0, - .ppBonuses = 0, - .hpEV = 252, - .speedEV = 252, - .spAttackEV = 6, - .otId = TRAINER_HILL_OTID, - .hpIV = 5, - .attackIV = 5, - .defenseIV = 5, - .speedIV = 5, - .spAttackIV = 5, - .spDefenseIV = 5, - .abilityNum = 1, - .personality = 0xA, - .nickname = _("STARYU"), - .friendship = 255, - }, - [1] = - { - .species = SPECIES_MEOWTH, - .heldItem = ITEM_QUICK_CLAW, - .moves = {MOVE_PAY_DAY, MOVE_NONE, MOVE_NONE, MOVE_NONE}, - .level = 0, - .ppBonuses = 0, - .hpEV = 252, - .speedEV = 252, - .spAttackEV = 6, - .otId = TRAINER_HILL_OTID, - .hpIV = 5, - .attackIV = 5, - .defenseIV = 5, - .speedIV = 5, - .spAttackIV = 5, - .spDefenseIV = 5, - .abilityNum = 0, - .personality = 0xD, - .nickname = _("MEOWTH"), - .friendship = 255, - }, - [2] = - { - .species = SPECIES_BLAZIKEN, - .heldItem = ITEM_BRIGHT_POWDER, - .moves = {MOVE_BLAZE_KICK, MOVE_NONE, MOVE_NONE, MOVE_NONE}, - .level = 0, - .ppBonuses = 0, - .hpEV = 252, - .speedEV = 252, - .spDefenseEV = 6, - .otId = TRAINER_HILL_OTID, - .hpIV = 5, - .attackIV = 5, - .defenseIV = 5, - .speedIV = 5, - .spAttackIV = 5, - .spDefenseIV = 5, - .abilityNum = 0, - .personality = 0x28, - .nickname = _("BLAZIKEN"), - .friendship = 255, - }, - [3] = - { - .species = SPECIES_CUBONE, - .heldItem = ITEM_THICK_CLUB, - .moves = {MOVE_BONEMERANG, MOVE_NONE, MOVE_NONE, MOVE_NONE}, - .level = 0, - .ppBonuses = 0, - .hpEV = 252, - .defenseEV = 6, - .spDefenseEV = 252, - .otId = TRAINER_HILL_OTID, - .hpIV = 5, - .attackIV = 5, - .defenseIV = 5, - .speedIV = 5, - .spAttackIV = 5, - .spDefenseIV = 5, - .abilityNum = 1, - .personality = 0x16, - .nickname = _("CUBONE"), - .friendship = 255, - }, - [4] = - { - .species = SPECIES_BEEDRILL, - .heldItem = ITEM_SHELL_BELL, - .moves = {MOVE_TWINEEDLE, MOVE_NONE, MOVE_NONE, MOVE_NONE}, - .level = 0, - .ppBonuses = 0, - .hpEV = 252, - .speedEV = 252, - .otId = TRAINER_HILL_OTID, - .hpIV = 5, - .attackIV = 5, - .defenseIV = 5, - .speedIV = 5, - .spAttackIV = 5, - .spDefenseIV = 5, - .abilityNum = 0, - .personality = 0x8A, - .nickname = _("BEEDRILL"), - .friendship = 255, - }, - [5] = - { - .species = SPECIES_RATICATE, - .heldItem = ITEM_FOCUS_BAND, - .moves = {MOVE_SUPER_FANG, MOVE_NONE, MOVE_NONE, MOVE_NONE}, - .level = 0, - .ppBonuses = 0, - .hpEV = 252, - .defenseEV = 6, - .speedEV = 252, - .otId = TRAINER_HILL_OTID, - .hpIV = 5, - .attackIV = 5, - .defenseIV = 5, - .speedIV = 5, - .spAttackIV = 5, - .spDefenseIV = 5, - .abilityNum = 1, - .personality = 0xD, - .nickname = _("RATICATE"), - .friendship = 255, + [0] = + { + .name = _("ABRAHAM"), + .facilityClass = FACILITY_CLASS_RUIN_MANIAC, + .unused = 0, + .speechBefore = {EC_WORD_I, EC_WORD_LIKE, EC_WORD_THIS, EC_WORD_POKEMON, EC_WORD_THE, EC_WORD_BEST}, + .speechWin = {EC_WORD_WHAT, EC_WORD_A, EC_WORD_GREAT, EC_WORD_POKEMON, EC_WORD_IT, EC_WORD_IS}, + .speechLose = {EC_WORD_I, EC_WORD_CONFUSED, EC_WORD_A, EC_WORD_MOVE, EC_WORD_WITH, EC_WORD_ANOTHER}, + .speechAfter = {EC_WORD_I, EC_WORD_WANT, EC_WORD_A, EC_MOVE(SKETCH), EC_WORD_OF, EC_WORD_YOU}, + .mons = + { + [0] = + { + .species = SPECIES_SMEARGLE, + .heldItem = ITEM_SCOPE_LENS, + .moves = {MOVE_EARTHQUAKE, MOVE_SHADOW_BALL, MOVE_AERIAL_ACE, MOVE_IMPRISON}, + .level = 0, + .ppBonuses = 0, + .hpEV = 252, + .attackEV = 6, + .speedEV = 252, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x8A, + .nickname = _("SMEARGLE"), + .friendship = 255, + }, + [1] = + { + .species = SPECIES_SMEARGLE, + .heldItem = ITEM_CHESTO_BERRY, + .moves = {MOVE_REST, MOVE_THUNDER_WAVE, MOVE_FLAMETHROWER, MOVE_IMPRISON}, + .level = 0, + .ppBonuses = 0, + .hpEV = 252, + .speedEV = 252, + .spAttackEV = 6, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x87, + .nickname = _("SMEARGLE"), + .friendship = 255, + }, + [2] = + { + .species = SPECIES_SMEARGLE, + .heldItem = ITEM_QUICK_CLAW, + .moves = {MOVE_TEETER_DANCE, MOVE_LOCK_ON, MOVE_SHEER_COLD, MOVE_EXPLOSION}, + .level = 0, + .ppBonuses = 0, + .hpEV = 252, + .attackEV = 6, + .speedEV = 252, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0xD, + .nickname = _("SMEARGLE"), + .friendship = 255, + }, + [3] = + { + .species = SPECIES_SMEARGLE, + .heldItem = ITEM_SCOPE_LENS, + .moves = {MOVE_PSYCHIC, MOVE_SURF, MOVE_THUNDERBOLT, MOVE_IMPRISON}, + .level = 0, + .ppBonuses = 0, + .hpEV = 252, + .speedEV = 252, + .spAttackEV = 6, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0xA, + .nickname = _("SMEARGLE"), + .friendship = 255, + }, + [4] = + { + .species = SPECIES_SMEARGLE, + .heldItem = ITEM_LEFTOVERS, + .moves = {MOVE_TOXIC, MOVE_PROTECT, MOVE_WILL_O_WISP, MOVE_IMPRISON}, + .level = 0, + .ppBonuses = 0, + .hpEV = 252, + .defenseEV = 6, + .speedEV = 252, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0xA, + .nickname = _("SMEARGLE"), + .friendship = 255, + }, + [5] = + { + .species = SPECIES_SMEARGLE, + .heldItem = ITEM_QUICK_CLAW, + .moves = {MOVE_TEETER_DANCE, MOVE_LOCK_ON, MOVE_SHEER_COLD, MOVE_DESTINY_BOND}, + .level = 0, + .ppBonuses = 0, + .hpEV = 252, + .defenseEV = 6, + .speedEV = 252, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x8A, + .nickname = _("SMEARGLE"), + .friendship = 255, + }, + }, + }, + [1] = + { + .name = _("LUC"), + .facilityClass = FACILITY_CLASS_TUBER_M, + .unused = 0, + .speechBefore = {EC_WORD_I, EC_WORD_HAVE, EC_WORD_A, EC_WORD_COOL, EC_WORD_RARE, EC_WORD_MOVE}, + .speechWin = {EC_WORD_MY, EC_WORD_RARE, EC_WORD_MOVE, EC_WORD_IS, EC_WORD_COOL, EC_WORD_ISN_T_IT_QUES}, + .speechLose = {EC_WORD_DIDN_T, EC_WORD_YOU, EC_WORD_SEE, EC_WORD_MY, EC_WORD_MOVE, EC_WORD_QUES}, + .speechAfter = {EC_WORD_I_AM, EC_WORD_SMART, EC_WORD_BUT, EC_WORD_ALSO, EC_WORD_WEAK, EC_WORD_ELLIPSIS}, + .mons = + { + [0] = + { + .species = SPECIES_STARYU, + .heldItem = ITEM_LEFTOVERS, + .moves = {MOVE_CAMOUFLAGE, MOVE_NONE, MOVE_NONE, MOVE_NONE}, + .level = 0, + .ppBonuses = 0, + .hpEV = 252, + .speedEV = 252, + .spAttackEV = 6, + .otId = TRAINER_HILL_OTID, + .hpIV = 5, + .attackIV = 5, + .defenseIV = 5, + .speedIV = 5, + .spAttackIV = 5, + .spDefenseIV = 5, + .abilityNum = 1, + .personality = 0xA, + .nickname = _("STARYU"), + .friendship = 255, + }, + [1] = + { + .species = SPECIES_MEOWTH, + .heldItem = ITEM_QUICK_CLAW, + .moves = {MOVE_PAY_DAY, MOVE_NONE, MOVE_NONE, MOVE_NONE}, + .level = 0, + .ppBonuses = 0, + .hpEV = 252, + .speedEV = 252, + .spAttackEV = 6, + .otId = TRAINER_HILL_OTID, + .hpIV = 5, + .attackIV = 5, + .defenseIV = 5, + .speedIV = 5, + .spAttackIV = 5, + .spDefenseIV = 5, + .abilityNum = 0, + .personality = 0xD, + .nickname = _("MEOWTH"), + .friendship = 255, + }, + [2] = + { + .species = SPECIES_BLAZIKEN, + .heldItem = ITEM_BRIGHT_POWDER, + .moves = {MOVE_BLAZE_KICK, MOVE_NONE, MOVE_NONE, MOVE_NONE}, + .level = 0, + .ppBonuses = 0, + .hpEV = 252, + .speedEV = 252, + .spDefenseEV = 6, + .otId = TRAINER_HILL_OTID, + .hpIV = 5, + .attackIV = 5, + .defenseIV = 5, + .speedIV = 5, + .spAttackIV = 5, + .spDefenseIV = 5, + .abilityNum = 0, + .personality = 0x28, + .nickname = _("BLAZIKEN"), + .friendship = 255, + }, + [3] = + { + .species = SPECIES_CUBONE, + .heldItem = ITEM_THICK_CLUB, + .moves = {MOVE_BONEMERANG, MOVE_NONE, MOVE_NONE, MOVE_NONE}, + .level = 0, + .ppBonuses = 0, + .hpEV = 252, + .defenseEV = 6, + .spDefenseEV = 252, + .otId = TRAINER_HILL_OTID, + .hpIV = 5, + .attackIV = 5, + .defenseIV = 5, + .speedIV = 5, + .spAttackIV = 5, + .spDefenseIV = 5, + .abilityNum = 1, + .personality = 0x16, + .nickname = _("CUBONE"), + .friendship = 255, + }, + [4] = + { + .species = SPECIES_BEEDRILL, + .heldItem = ITEM_SHELL_BELL, + .moves = {MOVE_TWINEEDLE, MOVE_NONE, MOVE_NONE, MOVE_NONE}, + .level = 0, + .ppBonuses = 0, + .hpEV = 252, + .speedEV = 252, + .otId = TRAINER_HILL_OTID, + .hpIV = 5, + .attackIV = 5, + .defenseIV = 5, + .speedIV = 5, + .spAttackIV = 5, + .spDefenseIV = 5, + .abilityNum = 0, + .personality = 0x8A, + .nickname = _("BEEDRILL"), + .friendship = 255, + }, + [5] = + { + .species = SPECIES_RATICATE, + .heldItem = ITEM_FOCUS_BAND, + .moves = {MOVE_SUPER_FANG, MOVE_NONE, MOVE_NONE, MOVE_NONE}, + .level = 0, + .ppBonuses = 0, + .hpEV = 252, + .defenseEV = 6, + .speedEV = 252, + .otId = TRAINER_HILL_OTID, + .hpIV = 5, + .attackIV = 5, + .defenseIV = 5, + .speedIV = 5, + .spAttackIV = 5, + .spDefenseIV = 5, + .abilityNum = 1, + .personality = 0xD, + .nickname = _("RATICATE"), + .friendship = 255, + }, + }, }, - }, }, - }, - .data = {0x31, 0x3B, 0x3B, 0x3B, 0x39, 0x26, 0x1B, 0x1C, 0x1D, 0x25, 0x39, 0x3A, 0x3B, 0x3B, 0x3B, 0x8, 0x2D, 0x3B, 0x3B, 0x3B, 0x35, 0x2C, 0x23, 0x24, 0x23, 0x2C, 0x35, 0x3B, 0x3B, 0x3B, 0x3B, 0x8, 0x94, 0x87, 0x9B, 0x87, 0x8C, 0x87, 0x8B, 0x87, 0x8C, 0x87, 0x8C, 0x87, 0x95, 0x87, 0x9B, 0x8, 0x91, 0x8F, 0x9B, 0x8F, 0x9B, 0x8F, 0x8C, 0x8F, 0x9B, 0x8F, 0x9B, 0x8F, 0x8C, 0x8F, 0x95, 0x8, 0x8D, 0x97, 0x95, 0x97, 0x9B, 0x97, 0x95, 0x97, 0x95, 0x97, 0x9B, 0x97, 0x9B, 0x97, 0x8C, 0x8, 0x94, 0x87, 0x8C, 0x87, 0x9B, 0x87, 0x8C, 0x87, 0x8B, 0x87, 0x9B, 0x9B, 0x9B, 0x87, 0x9B, 0x8, 0x91, 0x8F, 0x9B, 0x8F, 0x95, 0x8F, 0x9B, 0x8F, 0x8C, 0x8F, 0x95, 0x9B, 0x95, 0x8F, 0x9B, 0x8, 0x91, 0x97, 0x95, 0x97, 0x8C, 0x97, 0x95, 0x97, 0x95, 0x97, 0x8C, 0x9B, 0x8C, 0x97, 0x95, 0x8, 0x91, 0x87, 0x8C, 0x87, 0x9B, 0x87, 0x8C, 0x87, 0x8B, 0x87, 0x9B, 0x87, 0x95, 0x87, 0x8C, 0x8, 0x8D, 0x8F, 0x9B, 0x8F, 0x95, 0x8F, 0x9B, 0x8F, 0x8C, 0x8F, 0x9B, 0x8F, 0x8C, 0x8F, 0x9B, 0x8, 0x94, 0x97, 0x95, 0x97, 0x8C, 0x97, 0x9B, 0x97, 0x95, 0x97, 0x95, 0x97, 0x9B, 0x97, 0x9B, 0x8, 0x91, 0x87, 0x8C, 0x87, 0x95, 0x87, 0x95, 0x87, 0x8B, 0x87, 0x8C, 0x87, 0x9B, 0x87, 0x9B, 0x8, 0x91, 0x8F, 0x95, 0x8F, 0x8B, 0x8F, 0x8C, 0x8F, 0x8C, 0x8F, 0x9B, 0x8F, 0x95, 0x8F, 0x9B, 0x8, 0x91, 0x97, 0x8C, 0x97, 0x8C, 0x97, 0x9B, 0x97, 0x9B, 0x97, 0x9B, 0x97, 0x8B, 0x97, 0x9B, 0x8, 0x91, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x8C, 0x9B, 0x9B, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8}, - .unk3A0 = {0x381, 0x7C1, 0x8AA1, 0x209, 0x5557, 0xA281, 0x81, 0x5D6D, 0x2283, 0x89, 0xDD55, 0x20A1, 0xA81, 0x7D5D, 0x9, 0xFFFF}, - .coords = {105, 109}, - .direction = 0x23, - .range = 0x33, + .display = { + .data = {0x31, 0x3B, 0x3B, 0x3B, 0x39, 0x26, 0x1B, 0x1C, 0x1D, 0x25, 0x39, 0x3A, 0x3B, 0x3B, 0x3B, 0x8, 0x2D, 0x3B, 0x3B, 0x3B, 0x35, 0x2C, 0x23, 0x24, 0x23, 0x2C, 0x35, 0x3B, 0x3B, 0x3B, 0x3B, 0x8, 0x94, 0x87, 0x9B, 0x87, 0x8C, 0x87, 0x8B, 0x87, 0x8C, 0x87, 0x8C, 0x87, 0x95, 0x87, 0x9B, 0x8, 0x91, 0x8F, 0x9B, 0x8F, 0x9B, 0x8F, 0x8C, 0x8F, 0x9B, 0x8F, 0x9B, 0x8F, 0x8C, 0x8F, 0x95, 0x8, 0x8D, 0x97, 0x95, 0x97, 0x9B, 0x97, 0x95, 0x97, 0x95, 0x97, 0x9B, 0x97, 0x9B, 0x97, 0x8C, 0x8, 0x94, 0x87, 0x8C, 0x87, 0x9B, 0x87, 0x8C, 0x87, 0x8B, 0x87, 0x9B, 0x9B, 0x9B, 0x87, 0x9B, 0x8, 0x91, 0x8F, 0x9B, 0x8F, 0x95, 0x8F, 0x9B, 0x8F, 0x8C, 0x8F, 0x95, 0x9B, 0x95, 0x8F, 0x9B, 0x8, 0x91, 0x97, 0x95, 0x97, 0x8C, 0x97, 0x95, 0x97, 0x95, 0x97, 0x8C, 0x9B, 0x8C, 0x97, 0x95, 0x8, 0x91, 0x87, 0x8C, 0x87, 0x9B, 0x87, 0x8C, 0x87, 0x8B, 0x87, 0x9B, 0x87, 0x95, 0x87, 0x8C, 0x8, 0x8D, 0x8F, 0x9B, 0x8F, 0x95, 0x8F, 0x9B, 0x8F, 0x8C, 0x8F, 0x9B, 0x8F, 0x8C, 0x8F, 0x9B, 0x8, 0x94, 0x97, 0x95, 0x97, 0x8C, 0x97, 0x9B, 0x97, 0x95, 0x97, 0x95, 0x97, 0x9B, 0x97, 0x9B, 0x8, 0x91, 0x87, 0x8C, 0x87, 0x95, 0x87, 0x95, 0x87, 0x8B, 0x87, 0x8C, 0x87, 0x9B, 0x87, 0x9B, 0x8, 0x91, 0x8F, 0x95, 0x8F, 0x8B, 0x8F, 0x8C, 0x8F, 0x8C, 0x8F, 0x9B, 0x8F, 0x95, 0x8F, 0x9B, 0x8, 0x91, 0x97, 0x8C, 0x97, 0x8C, 0x97, 0x9B, 0x97, 0x9B, 0x97, 0x9B, 0x97, 0x8B, 0x97, 0x9B, 0x8, 0x91, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x8C, 0x9B, 0x9B, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8}, + .unk3A0 = {0x381, 0x7C1, 0x8AA1, 0x209, 0x5557, 0xA281, 0x81, 0x5D6D, 0x2283, 0x89, 0xDD55, 0x20A1, 0xA81, 0x7D5D, 0x9, 0xFFFF}, + .coords = {105, 109}, + .direction = 0x23, + .range = 0x33, + } }, - [2] = + [2] = { .unk0 = 0x35, .unk1 = 0x36, .trainers = - { - [0] = - { - .name = _("BREYDEN"), - .facilityClass = FACILITY_CLASS_YOUNGSTER, - .unused = 0, - .speechBefore = {EC_WORD_I, EC_WORD_CARE, EC_WORD_FOR, EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_A_LOT}, - .speechWin = {EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_CAN, EC_WORD_DO, EC_WORD_IT, EC_WORD_ALL}, - .speechLose = {EC_WORD_IT_S, EC_WORD_NOT, EC_WORD_LIKE, EC_WORD_WE, EC_WORD_ALWAYS, EC_WORD_WIN}, - .speechAfter = {EC_WORD_I, EC_WORD_LIKE, EC_WORD_THE, EC_WORD_BEGINNING, EC_WORD_POKEMON, EC_WORD_BEST}, - .mons = - { - [0] = - { - .species = SPECIES_CHARMELEON, - .heldItem = ITEM_CHARCOAL, - .moves = {MOVE_FIRE_SPIN, MOVE_DRAGON_RAGE, MOVE_FLAMETHROWER, MOVE_SLASH}, - .level = 0, - .ppBonuses = 0, - .hpEV = 252, - .speedEV = 252, - .spAttackEV = 6, - .otId = TRAINER_HILL_OTID, - .hpIV = 25, - .attackIV = 25, - .defenseIV = 25, - .speedIV = 25, - .spAttackIV = 25, - .spDefenseIV = 25, - .abilityNum = 0, - .personality = 0x32, - .nickname = _("CHARMELEON"), - .friendship = 100, - }, - [1] = - { - .species = SPECIES_WARTORTLE, - .heldItem = ITEM_MYSTIC_WATER, - .moves = {MOVE_HYDRO_PUMP, MOVE_SKULL_BASH, MOVE_RAIN_DANCE, MOVE_PROTECT}, - .level = 0, - .ppBonuses = 0, - .hpEV = 250, - .defenseEV = 130, - .otId = TRAINER_HILL_OTID, - .hpIV = 25, - .attackIV = 25, - .defenseIV = 25, - .speedIV = 25, - .spAttackIV = 25, - .spDefenseIV = 25, - .abilityNum = 0, - .personality = 0x0, - .nickname = _("WARTORTLE"), - .friendship = 100, - }, - [2] = - { - .species = SPECIES_IVYSAUR, - .heldItem = ITEM_MIRACLE_SEED, - .moves = {MOVE_SOLAR_BEAM, MOVE_SYNTHESIS, MOVE_GROWTH, MOVE_SWEET_SCENT}, - .level = 0, - .ppBonuses = 0, - .hpEV = 252, - .speedEV = 6, - .spAttackEV = 252, - .otId = TRAINER_HILL_OTID, - .hpIV = 25, - .attackIV = 25, - .defenseIV = 25, - .speedIV = 25, - .spAttackIV = 25, - .spDefenseIV = 25, - .abilityNum = 0, - .personality = 0x0, - .nickname = _("IVYSAUR"), - .friendship = 100, - }, - [3] = - { - .species = SPECIES_BAYLEEF, - .heldItem = ITEM_MIRACLE_SEED, - .moves = {MOVE_SOLAR_BEAM, MOVE_SAFEGUARD, MOVE_LIGHT_SCREEN, MOVE_BODY_SLAM}, - .level = 0, - .ppBonuses = 0, - .hpEV = 250, - .attackEV = 130, - .spAttackEV = 130, - .otId = TRAINER_HILL_OTID, - .hpIV = 25, - .attackIV = 25, - .defenseIV = 25, - .speedIV = 25, - .spAttackIV = 25, - .spDefenseIV = 25, - .abilityNum = 0, - .personality = 0x32, - .nickname = _("BAYLEEF"), - .friendship = 100, - }, - [4] = - { - .species = SPECIES_CROCONAW, - .heldItem = ITEM_MYSTIC_WATER, - .moves = {MOVE_SCARY_FACE, MOVE_SLASH, MOVE_HYDRO_PUMP, MOVE_SCREECH}, - .level = 0, - .ppBonuses = 0, - .hpEV = 252, - .attackEV = 252, - .speedEV = 6, - .otId = TRAINER_HILL_OTID, - .hpIV = 25, - .attackIV = 25, - .defenseIV = 25, - .speedIV = 25, - .spAttackIV = 25, - .spDefenseIV = 25, - .abilityNum = 0, - .personality = 0x3, - .nickname = _("CROCONAW"), - .friendship = 100, - }, - [5] = - { - .species = SPECIES_QUILAVA, - .heldItem = ITEM_CHARCOAL, - .moves = {MOVE_QUICK_ATTACK, MOVE_FLAMETHROWER, MOVE_FLAME_WHEEL, MOVE_SWIFT}, - .level = 0, - .ppBonuses = 0, - .hpEV = 6, - .speedEV = 252, - .spAttackEV = 252, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 0, - .personality = 0x28, - .nickname = _("QUILAVA"), - .friendship = 100, - }, - }, - }, - [1] = { - .name = _("ANIYA"), - .facilityClass = FACILITY_CLASS_TUBER_F, - .unused = 0, - .speechBefore = {EC_WORD_SOMEONE, EC_WORD_GOT, EC_WORD_ME, EC_WORD_A_LITTLE, EC_WORD_POKEMON, EC_WORD_EGG}, - .speechWin = {EC_WORD_I_AM, EC_WORD_NOT, EC_WORD_NEW, EC_WORD_AT, EC_WORD_THIS, EC_WORD_EXCL}, - .speechLose = {EC_WORD_OH, EC_WORD_BUT, EC_WORD_ELLIPSIS, EC_WORD_WHY, EC_WORD_WHY, EC_WORD_QUES_EXCL}, - .speechAfter = {EC_WORD_YOU_RE, EC_WORD_BUSY, EC_WORD_QUES, EC_WORD_DON_T, EC_WORD_GIVE_UP, EC_WORD_EXCL}, - .mons = - { - [0] = - { - .species = SPECIES_SMOOCHUM, - .heldItem = ITEM_PETAYA_BERRY, - .moves = {MOVE_ICE_BEAM, MOVE_PSYCHIC, MOVE_SWEET_KISS, MOVE_FAKE_TEARS}, - .level = 0, - .ppBonuses = 0, - .hpEV = 6, - .speedEV = 252, - .spAttackEV = 252, - .otId = TRAINER_HILL_OTID, - .hpIV = 31, - .attackIV = 31, - .defenseIV = 31, - .speedIV = 31, - .spAttackIV = 31, - .spDefenseIV = 31, - .abilityNum = 0, - .personality = 0x32, - .nickname = _("SMOOCHUM"), - .friendship = 50, - }, - [1] = - { - .species = SPECIES_AZURILL, - .heldItem = ITEM_FOCUS_BAND, - .moves = {MOVE_SURF, MOVE_SING, MOVE_RAIN_DANCE, MOVE_BLIZZARD}, - .level = 0, - .ppBonuses = 0, - .hpEV = 6, - .speedEV = 252, - .spAttackEV = 252, - .otId = TRAINER_HILL_OTID, - .hpIV = 31, - .attackIV = 31, - .defenseIV = 31, - .speedIV = 31, - .spAttackIV = 31, - .spDefenseIV = 31, - .abilityNum = 0, - .personality = 0xC8, - .nickname = _("AZURILL"), - .friendship = 50, - }, - [2] = - { - .species = SPECIES_ELEKID, - .heldItem = ITEM_KINGS_ROCK, - .moves = {MOVE_FIRE_PUNCH, MOVE_THUNDER, MOVE_ICE_PUNCH, MOVE_THUNDER_WAVE}, - .level = 0, - .ppBonuses = 0, - .hpEV = 6, - .speedEV = 252, - .spAttackEV = 252, - .otId = TRAINER_HILL_OTID, - .hpIV = 31, - .attackIV = 31, - .defenseIV = 31, - .speedIV = 31, - .spAttackIV = 31, - .spDefenseIV = 31, - .abilityNum = 0, - .personality = 0x0, - .nickname = _("ELEKID"), - .friendship = 50, + [0] = + { + .name = _("BREYDEN"), + .facilityClass = FACILITY_CLASS_YOUNGSTER, + .unused = 0, + .speechBefore = {EC_WORD_I, EC_WORD_CARE, EC_WORD_FOR, EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_A_LOT}, + .speechWin = {EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_CAN, EC_WORD_DO, EC_WORD_IT, EC_WORD_ALL}, + .speechLose = {EC_WORD_IT_S, EC_WORD_NOT, EC_WORD_LIKE, EC_WORD_WE, EC_WORD_ALWAYS, EC_WORD_WIN}, + .speechAfter = {EC_WORD_I, EC_WORD_LIKE, EC_WORD_THE, EC_WORD_BEGINNING, EC_WORD_POKEMON, EC_WORD_BEST}, + .mons = + { + [0] = + { + .species = SPECIES_CHARMELEON, + .heldItem = ITEM_CHARCOAL, + .moves = {MOVE_FIRE_SPIN, MOVE_DRAGON_RAGE, MOVE_FLAMETHROWER, MOVE_SLASH}, + .level = 0, + .ppBonuses = 0, + .hpEV = 252, + .speedEV = 252, + .spAttackEV = 6, + .otId = TRAINER_HILL_OTID, + .hpIV = 25, + .attackIV = 25, + .defenseIV = 25, + .speedIV = 25, + .spAttackIV = 25, + .spDefenseIV = 25, + .abilityNum = 0, + .personality = 0x32, + .nickname = _("CHARMELEON"), + .friendship = 100, + }, + [1] = + { + .species = SPECIES_WARTORTLE, + .heldItem = ITEM_MYSTIC_WATER, + .moves = {MOVE_HYDRO_PUMP, MOVE_SKULL_BASH, MOVE_RAIN_DANCE, MOVE_PROTECT}, + .level = 0, + .ppBonuses = 0, + .hpEV = 250, + .defenseEV = 130, + .otId = TRAINER_HILL_OTID, + .hpIV = 25, + .attackIV = 25, + .defenseIV = 25, + .speedIV = 25, + .spAttackIV = 25, + .spDefenseIV = 25, + .abilityNum = 0, + .personality = 0x0, + .nickname = _("WARTORTLE"), + .friendship = 100, + }, + [2] = + { + .species = SPECIES_IVYSAUR, + .heldItem = ITEM_MIRACLE_SEED, + .moves = {MOVE_SOLAR_BEAM, MOVE_SYNTHESIS, MOVE_GROWTH, MOVE_SWEET_SCENT}, + .level = 0, + .ppBonuses = 0, + .hpEV = 252, + .speedEV = 6, + .spAttackEV = 252, + .otId = TRAINER_HILL_OTID, + .hpIV = 25, + .attackIV = 25, + .defenseIV = 25, + .speedIV = 25, + .spAttackIV = 25, + .spDefenseIV = 25, + .abilityNum = 0, + .personality = 0x0, + .nickname = _("IVYSAUR"), + .friendship = 100, + }, + [3] = + { + .species = SPECIES_BAYLEEF, + .heldItem = ITEM_MIRACLE_SEED, + .moves = {MOVE_SOLAR_BEAM, MOVE_SAFEGUARD, MOVE_LIGHT_SCREEN, MOVE_BODY_SLAM}, + .level = 0, + .ppBonuses = 0, + .hpEV = 250, + .attackEV = 130, + .spAttackEV = 130, + .otId = TRAINER_HILL_OTID, + .hpIV = 25, + .attackIV = 25, + .defenseIV = 25, + .speedIV = 25, + .spAttackIV = 25, + .spDefenseIV = 25, + .abilityNum = 0, + .personality = 0x32, + .nickname = _("BAYLEEF"), + .friendship = 100, + }, + [4] = + { + .species = SPECIES_CROCONAW, + .heldItem = ITEM_MYSTIC_WATER, + .moves = {MOVE_SCARY_FACE, MOVE_SLASH, MOVE_HYDRO_PUMP, MOVE_SCREECH}, + .level = 0, + .ppBonuses = 0, + .hpEV = 252, + .attackEV = 252, + .speedEV = 6, + .otId = TRAINER_HILL_OTID, + .hpIV = 25, + .attackIV = 25, + .defenseIV = 25, + .speedIV = 25, + .spAttackIV = 25, + .spDefenseIV = 25, + .abilityNum = 0, + .personality = 0x3, + .nickname = _("CROCONAW"), + .friendship = 100, + }, + [5] = + { + .species = SPECIES_QUILAVA, + .heldItem = ITEM_CHARCOAL, + .moves = {MOVE_QUICK_ATTACK, MOVE_FLAMETHROWER, MOVE_FLAME_WHEEL, MOVE_SWIFT}, + .level = 0, + .ppBonuses = 0, + .hpEV = 6, + .speedEV = 252, + .spAttackEV = 252, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x28, + .nickname = _("QUILAVA"), + .friendship = 100, + }, + }, + }, + [1] = + { + .name = _("ANIYA"), + .facilityClass = FACILITY_CLASS_TUBER_F, + .unused = 0, + .speechBefore = {EC_WORD_SOMEONE, EC_WORD_GOT, EC_WORD_ME, EC_WORD_A_LITTLE, EC_WORD_POKEMON, EC_WORD_EGG}, + .speechWin = {EC_WORD_I_AM, EC_WORD_NOT, EC_WORD_NEW, EC_WORD_AT, EC_WORD_THIS, EC_WORD_EXCL}, + .speechLose = {EC_WORD_OH, EC_WORD_BUT, EC_WORD_ELLIPSIS, EC_WORD_WHY, EC_WORD_WHY, EC_WORD_QUES_EXCL}, + .speechAfter = {EC_WORD_YOU_RE, EC_WORD_BUSY, EC_WORD_QUES, EC_WORD_DON_T, EC_WORD_GIVE_UP, EC_WORD_EXCL}, + .mons = + { + [0] = + { + .species = SPECIES_SMOOCHUM, + .heldItem = ITEM_PETAYA_BERRY, + .moves = {MOVE_ICE_BEAM, MOVE_PSYCHIC, MOVE_SWEET_KISS, MOVE_FAKE_TEARS}, + .level = 0, + .ppBonuses = 0, + .hpEV = 6, + .speedEV = 252, + .spAttackEV = 252, + .otId = TRAINER_HILL_OTID, + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x32, + .nickname = _("SMOOCHUM"), + .friendship = 50, + }, + [1] = + { + .species = SPECIES_AZURILL, + .heldItem = ITEM_FOCUS_BAND, + .moves = {MOVE_SURF, MOVE_SING, MOVE_RAIN_DANCE, MOVE_BLIZZARD}, + .level = 0, + .ppBonuses = 0, + .hpEV = 6, + .speedEV = 252, + .spAttackEV = 252, + .otId = TRAINER_HILL_OTID, + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0xC8, + .nickname = _("AZURILL"), + .friendship = 50, + }, + [2] = + { + .species = SPECIES_ELEKID, + .heldItem = ITEM_KINGS_ROCK, + .moves = {MOVE_FIRE_PUNCH, MOVE_THUNDER, MOVE_ICE_PUNCH, MOVE_THUNDER_WAVE}, + .level = 0, + .ppBonuses = 0, + .hpEV = 6, + .speedEV = 252, + .spAttackEV = 252, + .otId = TRAINER_HILL_OTID, + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x0, + .nickname = _("ELEKID"), + .friendship = 50, + }, + [3] = + { + .species = SPECIES_CLEFFA, + .heldItem = ITEM_QUICK_CLAW, + .moves = {MOVE_MEGA_KICK, MOVE_SWEET_KISS, MOVE_SING, MOVE_METRONOME}, + .level = 0, + .ppBonuses = 0, + .hpEV = 6, + .attackEV = 252, + .speedEV = 252, + .otId = TRAINER_HILL_OTID, + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x0, + .nickname = _("CLEFFA"), + .friendship = 50, + }, + [4] = + { + .species = SPECIES_WYNAUT, + .heldItem = ITEM_LEFTOVERS, + .moves = {MOVE_ENCORE, MOVE_COUNTER, MOVE_MIRROR_COAT, MOVE_DESTINY_BOND}, + .level = 0, + .ppBonuses = 0, + .hpEV = 250, + .defenseEV = 130, + .spDefenseEV = 130, + .otId = TRAINER_HILL_OTID, + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x84, + .nickname = _("WYNAUT"), + .friendship = 50, + }, + [5] = + { + .species = SPECIES_MAGBY, + .heldItem = ITEM_SCOPE_LENS, + .moves = {MOVE_FIRE_BLAST, MOVE_CONFUSE_RAY, MOVE_THUNDER_PUNCH, MOVE_BARRIER}, + .level = 0, + .ppBonuses = 0, + .hpEV = 6, + .speedEV = 252, + .spAttackEV = 252, + .otId = TRAINER_HILL_OTID, + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0xF, + .nickname = _("MAGBY"), + .friendship = 50, + }, + }, }, - [3] = - { - .species = SPECIES_CLEFFA, - .heldItem = ITEM_QUICK_CLAW, - .moves = {MOVE_MEGA_KICK, MOVE_SWEET_KISS, MOVE_SING, MOVE_METRONOME}, - .level = 0, - .ppBonuses = 0, - .hpEV = 6, - .attackEV = 252, - .speedEV = 252, - .otId = TRAINER_HILL_OTID, - .hpIV = 31, - .attackIV = 31, - .defenseIV = 31, - .speedIV = 31, - .spAttackIV = 31, - .spDefenseIV = 31, - .abilityNum = 0, - .personality = 0x0, - .nickname = _("CLEFFA"), - .friendship = 50, - }, - [4] = - { - .species = SPECIES_WYNAUT, - .heldItem = ITEM_LEFTOVERS, - .moves = {MOVE_ENCORE, MOVE_COUNTER, MOVE_MIRROR_COAT, MOVE_DESTINY_BOND}, - .level = 0, - .ppBonuses = 0, - .hpEV = 250, - .defenseEV = 130, - .spDefenseEV = 130, - .otId = TRAINER_HILL_OTID, - .hpIV = 31, - .attackIV = 31, - .defenseIV = 31, - .speedIV = 31, - .spAttackIV = 31, - .spDefenseIV = 31, - .abilityNum = 0, - .personality = 0x84, - .nickname = _("WYNAUT"), - .friendship = 50, - }, - [5] = - { - .species = SPECIES_MAGBY, - .heldItem = ITEM_SCOPE_LENS, - .moves = {MOVE_FIRE_BLAST, MOVE_CONFUSE_RAY, MOVE_THUNDER_PUNCH, MOVE_BARRIER}, - .level = 0, - .ppBonuses = 0, - .hpEV = 6, - .speedEV = 252, - .spAttackEV = 252, - .otId = TRAINER_HILL_OTID, - .hpIV = 31, - .attackIV = 31, - .defenseIV = 31, - .speedIV = 31, - .spAttackIV = 31, - .spDefenseIV = 31, - .abilityNum = 0, - .personality = 0xF, - .nickname = _("MAGBY"), - .friendship = 50, - }, - }, }, - }, - .data = {0x31, 0x3B, 0x3B, 0x3B, 0x39, 0x39, 0x13, 0x14, 0x15, 0x38, 0x39, 0x3A, 0x3B, 0x3B, 0x3B, 0x8, 0x69, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x7C, 0x46, 0x8, 0x69, 0x46, 0x7A, 0x73, 0x73, 0x73, 0x79, 0x73, 0x73, 0x73, 0x7D, 0x73, 0x73, 0x73, 0x46, 0x8, 0x69, 0x46, 0x73, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x8, 0x69, 0x46, 0x73, 0x73, 0x7B, 0x73, 0x7C, 0x73, 0x7B, 0x73, 0x7A, 0x73, 0x73, 0x73, 0x46, 0x8, 0x69, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x7A, 0x46, 0x8, 0x69, 0x46, 0x73, 0x73, 0x73, 0x73, 0x73, 0x7D, 0x7C, 0x73, 0x7C, 0x73, 0x7B, 0x73, 0x46, 0x8, 0x69, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x7C, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x8, 0x91, 0x46, 0x9B, 0x9B, 0x9B, 0x46, 0x3B, 0x3B, 0x3B, 0x46, 0x9B, 0x9B, 0x9B, 0x9B, 0x46, 0x8, 0x91, 0x46, 0x9B, 0x9B, 0x9B, 0x46, 0x3B, 0x3B, 0x3B, 0x46, 0x9B, 0x9B, 0x9B, 0x9B, 0x46, 0x8, 0x91, 0x46, 0x9B, 0x9B, 0x9B, 0x46, 0x3B, 0x3B, 0x3B, 0x46, 0x9B, 0x9B, 0x9B, 0x9B, 0x46, 0x8, 0xF1, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x78, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x8, 0xF1, 0x46, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0x7A, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0x7C, 0x8, 0xF1, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0xFB, 0x8, 0x7C, 0xFB, 0x7B, 0xFB, 0x7A, 0xFB, 0x79, 0xFB, 0xB3, 0xFB, 0x7D, 0xFB, 0x7E, 0xFB, 0x7D, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8}, - .unk3A0 = {0x381, 0x7FFB, 0x4003, 0x5FFF, 0x4003, 0x7FFB, 0x4003, 0x7EFF, 0x4443, 0x4443, 0x4443, 0x7EFF, 0x4001, 0x7FFD, 0x1, 0xFFFF}, - .coords = {150, 152}, - .direction = 0x23, - .range = 0x11, + .display = { + .data = {0x31, 0x3B, 0x3B, 0x3B, 0x39, 0x39, 0x13, 0x14, 0x15, 0x38, 0x39, 0x3A, 0x3B, 0x3B, 0x3B, 0x8, 0x69, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x7C, 0x46, 0x8, 0x69, 0x46, 0x7A, 0x73, 0x73, 0x73, 0x79, 0x73, 0x73, 0x73, 0x7D, 0x73, 0x73, 0x73, 0x46, 0x8, 0x69, 0x46, 0x73, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x8, 0x69, 0x46, 0x73, 0x73, 0x7B, 0x73, 0x7C, 0x73, 0x7B, 0x73, 0x7A, 0x73, 0x73, 0x73, 0x46, 0x8, 0x69, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x7A, 0x46, 0x8, 0x69, 0x46, 0x73, 0x73, 0x73, 0x73, 0x73, 0x7D, 0x7C, 0x73, 0x7C, 0x73, 0x7B, 0x73, 0x46, 0x8, 0x69, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x7C, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x8, 0x91, 0x46, 0x9B, 0x9B, 0x9B, 0x46, 0x3B, 0x3B, 0x3B, 0x46, 0x9B, 0x9B, 0x9B, 0x9B, 0x46, 0x8, 0x91, 0x46, 0x9B, 0x9B, 0x9B, 0x46, 0x3B, 0x3B, 0x3B, 0x46, 0x9B, 0x9B, 0x9B, 0x9B, 0x46, 0x8, 0x91, 0x46, 0x9B, 0x9B, 0x9B, 0x46, 0x3B, 0x3B, 0x3B, 0x46, 0x9B, 0x9B, 0x9B, 0x9B, 0x46, 0x8, 0xF1, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x78, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x8, 0xF1, 0x46, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0x7A, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0x7C, 0x8, 0xF1, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0xFB, 0x8, 0x7C, 0xFB, 0x7B, 0xFB, 0x7A, 0xFB, 0x79, 0xFB, 0xB3, 0xFB, 0x7D, 0xFB, 0x7E, 0xFB, 0x7D, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8}, + .unk3A0 = {0x381, 0x7FFB, 0x4003, 0x5FFF, 0x4003, 0x7FFB, 0x4003, 0x7EFF, 0x4443, 0x4443, 0x4443, 0x7EFF, 0x4001, 0x7FFD, 0x1, 0xFFFF}, + .coords = {150, 152}, + .direction = 0x23, + .range = 0x11, + } }, - [3] = + [3] = { .unk0 = 0x38, .unk1 = 0x37, .trainers = - { - [0] = { - .name = _("DANE"), - .facilityClass = FACILITY_CLASS_BIRD_KEEPER, - .unused = 0, - .speechBefore = {EC_WORD_I, EC_WORD_GOT, EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_ON, EC_WORD_VACATION}, - .speechWin = {EC_WORD_IT_S, EC_WORD_GREAT, EC_WORD_TO, EC_WORD_TRAVEL, EC_WORD_AND, EC_WORD_BATTLE}, - .speechLose = {EC_WORD_WAAAH, EC_WORD_EXCL, EC_WORD_MY, EC_WORD_RARE, EC_WORD_POKEMON, EC_WORD_EXCL}, - .speechAfter = {EC_WORD_OFF, EC_WORD_ON, EC_WORD_ANOTHER, EC_WORD_VACATION, EC_WORD_I, EC_WORD_GO}, - .mons = - { - [0] = - { - .species = SPECIES_SUDOWOODO, - .heldItem = ITEM_SITRUS_BERRY, - .moves = {MOVE_ROCK_SLIDE, MOVE_BLOCK, MOVE_TOXIC, MOVE_EXPLOSION}, - .level = 0, - .ppBonuses = 0, - .hpEV = 100, - .attackEV = 255, - .spDefenseEV = 155, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 0, - .personality = 0x80, - .nickname = _("SUDOWOODO"), - .friendship = 255, - }, - [1] = - { - .species = SPECIES_SLOWKING, - .heldItem = ITEM_SCOPE_LENS, - .moves = {MOVE_SURF, MOVE_PSYCHIC, MOVE_BLIZZARD, MOVE_DISABLE}, - .level = 0, - .ppBonuses = 0, - .hpEV = 255, - .defenseEV = 255, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 1, - .personality = 0x8C, - .nickname = _("SLOWKING"), - .friendship = 255, - }, - [2] = - { - .species = SPECIES_ENTEI, - .heldItem = ITEM_PETAYA_BERRY, - .moves = {MOVE_FLAMETHROWER, MOVE_CALM_MIND, MOVE_FIRE_SPIN, MOVE_ROAR}, - .level = 0, - .ppBonuses = 0, - .speedEV = 255, - .spAttackEV = 255, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 0, - .personality = 0xF, - .nickname = _("ENTEI"), - .friendship = 255, - }, - [3] = - { - .species = SPECIES_HITMONCHAN, - .heldItem = ITEM_FOCUS_BAND, - .moves = {MOVE_MEGA_PUNCH, MOVE_DETECT, MOVE_COUNTER, MOVE_SKY_UPPERCUT}, - .level = 0, - .ppBonuses = 0, - .attackEV = 255, - .speedEV = 255, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 0, - .personality = 0x3, - .nickname = _("HITMONCHAN"), - .friendship = 255, - }, - [4] = - { - .species = SPECIES_MANTINE, - .heldItem = ITEM_LEFTOVERS, - .moves = {MOVE_SURF, MOVE_CONFUSE_RAY, MOVE_ATTRACT, MOVE_AERIAL_ACE}, - .level = 0, - .ppBonuses = 0, - .hpEV = 255, - .defenseEV = 255, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 1, - .personality = 0x6, - .nickname = _("MANTINE"), - .friendship = 255, + [0] = + { + .name = _("DANE"), + .facilityClass = FACILITY_CLASS_BIRD_KEEPER, + .unused = 0, + .speechBefore = {EC_WORD_I, EC_WORD_GOT, EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_ON, EC_WORD_VACATION}, + .speechWin = {EC_WORD_IT_S, EC_WORD_GREAT, EC_WORD_TO, EC_WORD_TRAVEL, EC_WORD_AND, EC_WORD_BATTLE}, + .speechLose = {EC_WORD_WAAAH, EC_WORD_EXCL, EC_WORD_MY, EC_WORD_RARE, EC_WORD_POKEMON, EC_WORD_EXCL}, + .speechAfter = {EC_WORD_OFF, EC_WORD_ON, EC_WORD_ANOTHER, EC_WORD_VACATION, EC_WORD_I, EC_WORD_GO}, + .mons = + { + [0] = + { + .species = SPECIES_SUDOWOODO, + .heldItem = ITEM_SITRUS_BERRY, + .moves = {MOVE_ROCK_SLIDE, MOVE_BLOCK, MOVE_TOXIC, MOVE_EXPLOSION}, + .level = 0, + .ppBonuses = 0, + .hpEV = 100, + .attackEV = 255, + .spDefenseEV = 155, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x80, + .nickname = _("SUDOWOODO"), + .friendship = 255, + }, + [1] = + { + .species = SPECIES_SLOWKING, + .heldItem = ITEM_SCOPE_LENS, + .moves = {MOVE_SURF, MOVE_PSYCHIC, MOVE_BLIZZARD, MOVE_DISABLE}, + .level = 0, + .ppBonuses = 0, + .hpEV = 255, + .defenseEV = 255, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 1, + .personality = 0x8C, + .nickname = _("SLOWKING"), + .friendship = 255, + }, + [2] = + { + .species = SPECIES_ENTEI, + .heldItem = ITEM_PETAYA_BERRY, + .moves = {MOVE_FLAMETHROWER, MOVE_CALM_MIND, MOVE_FIRE_SPIN, MOVE_ROAR}, + .level = 0, + .ppBonuses = 0, + .speedEV = 255, + .spAttackEV = 255, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0xF, + .nickname = _("ENTEI"), + .friendship = 255, + }, + [3] = + { + .species = SPECIES_HITMONCHAN, + .heldItem = ITEM_FOCUS_BAND, + .moves = {MOVE_MEGA_PUNCH, MOVE_DETECT, MOVE_COUNTER, MOVE_SKY_UPPERCUT}, + .level = 0, + .ppBonuses = 0, + .attackEV = 255, + .speedEV = 255, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x3, + .nickname = _("HITMONCHAN"), + .friendship = 255, + }, + [4] = + { + .species = SPECIES_MANTINE, + .heldItem = ITEM_LEFTOVERS, + .moves = {MOVE_SURF, MOVE_CONFUSE_RAY, MOVE_ATTRACT, MOVE_AERIAL_ACE}, + .level = 0, + .ppBonuses = 0, + .hpEV = 255, + .defenseEV = 255, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 1, + .personality = 0x6, + .nickname = _("MANTINE"), + .friendship = 255, + }, + [5] = + { + .species = SPECIES_ZAPDOS, + .heldItem = ITEM_BRIGHT_POWDER, + .moves = {MOVE_THUNDERBOLT, MOVE_DRILL_PECK, MOVE_THUNDER_WAVE, MOVE_AGILITY}, + .level = 0, + .ppBonuses = 0, + .speedEV = 255, + .spAttackEV = 255, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x18, + .nickname = _("ZAPDOS"), + .friendship = 255, + }, + }, + }, + [1] = + { + .name = _("STEPHANIE"), + .facilityClass = FACILITY_CLASS_SWIMMING_TRIATHLETE_F, + .unused = 0, + .speechBefore = {EC_WORD_THIS, EC_WORD_IS, EC_WORD_HOW, EC_WORD_YOU, EC_WORD_WIN, EC_WORD_EXCL}, + .speechWin = {EC_WORD_DO, EC_WORD_YOU, EC_WORD_UNDERSTAND, EC_WORD_HOW, EC_WORD_NOW, EC_WORD_QUES}, + .speechLose = {EC_WORD_YES, EC_WORD_THAT_S, EC_WORD_HOW, EC_WORD_YOU, EC_WORD_DO, EC_WORD_IT}, + .speechAfter = {EC_WORD_YOU, EC_WORD_BEAT, EC_WORD_ME, EC_WORD_GOOD, EC_WORD_FOR, EC_WORD_YOU}, + .mons = + { + [0] = + { + .species = SPECIES_HITMONLEE, + .heldItem = ITEM_FOCUS_BAND, + .moves = {MOVE_MEGA_KICK, MOVE_MIND_READER, MOVE_FOCUS_ENERGY, MOVE_HI_JUMP_KICK}, + .level = 0, + .ppBonuses = 0, + .hpEV = 255, + .attackEV = 255, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x3, + .nickname = _("HITMONLEE"), + .friendship = 255, + }, + [1] = + { + .species = SPECIES_PORYGON2, + .heldItem = ITEM_SCOPE_LENS, + .moves = {MOVE_LOCK_ON, MOVE_BLIZZARD, MOVE_CONVERSION_2, MOVE_PSYCHIC}, + .level = 0, + .ppBonuses = 0, + .hpEV = 255, + .spAttackEV = 255, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0xF, + .nickname = _("PORYGON2"), + .friendship = 255, + }, + [2] = + { + .species = SPECIES_SUICUNE, + .heldItem = ITEM_PETAYA_BERRY, + .moves = {MOVE_SURF, MOVE_CALM_MIND, MOVE_MIRROR_COAT, MOVE_MIST}, + .level = 0, + .ppBonuses = 0, + .speedEV = 255, + .spAttackEV = 255, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0xF, + .nickname = _("SUICUNE"), + .friendship = 255, + }, + [3] = + { + .species = SPECIES_HOUNDOOM, + .heldItem = ITEM_QUICK_CLAW, + .moves = {MOVE_FLAMETHROWER, MOVE_CRUNCH, MOVE_ROAR, MOVE_WILL_O_WISP}, + .level = 0, + .ppBonuses = 0, + .speedEV = 255, + .spAttackEV = 255, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 1, + .personality = 0xF, + .nickname = _("HOUNDOOM"), + .friendship = 255, + }, + [4] = + { + .species = SPECIES_STANTLER, + .heldItem = ITEM_LEFTOVERS, + .moves = {MOVE_CONFUSE_RAY, MOVE_SWAGGER, MOVE_PSYCH_UP, MOVE_TAKE_DOWN}, + .level = 0, + .ppBonuses = 0, + .attackEV = 255, + .speedEV = 255, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0x3, + .nickname = _("STANTLER"), + .friendship = 255, + }, + [5] = + { + .species = SPECIES_ARTICUNO, + .heldItem = ITEM_NEVER_MELT_ICE, + .moves = {MOVE_BLIZZARD, MOVE_SHEER_COLD, MOVE_MIST, MOVE_AERIAL_ACE}, + .level = 0, + .ppBonuses = 0, + .hpEV = 255, + .spAttackEV = 255, + .otId = TRAINER_HILL_OTID, + .hpIV = 15, + .attackIV = 15, + .defenseIV = 15, + .speedIV = 15, + .spAttackIV = 15, + .spDefenseIV = 15, + .abilityNum = 0, + .personality = 0xF, + .nickname = _("ARTICUNO"), + .friendship = 255, + }, + }, }, - [5] = - { - .species = SPECIES_ZAPDOS, - .heldItem = ITEM_BRIGHT_POWDER, - .moves = {MOVE_THUNDERBOLT, MOVE_DRILL_PECK, MOVE_THUNDER_WAVE, MOVE_AGILITY}, - .level = 0, - .ppBonuses = 0, - .speedEV = 255, - .spAttackEV = 255, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 0, - .personality = 0x18, - .nickname = _("ZAPDOS"), - .friendship = 255, - }, - }, - }, - [1] = - { - .name = _("STEPHANIE"), - .facilityClass = FACILITY_CLASS_SWIMMING_TRIATHLETE_F, - .unused = 0, - .speechBefore = {EC_WORD_THIS, EC_WORD_IS, EC_WORD_HOW, EC_WORD_YOU, EC_WORD_WIN, EC_WORD_EXCL}, - .speechWin = {EC_WORD_DO, EC_WORD_YOU, EC_WORD_UNDERSTAND, EC_WORD_HOW, EC_WORD_NOW, EC_WORD_QUES}, - .speechLose = {EC_WORD_YES, EC_WORD_THAT_S, EC_WORD_HOW, EC_WORD_YOU, EC_WORD_DO, EC_WORD_IT}, - .speechAfter = {EC_WORD_YOU, EC_WORD_BEAT, EC_WORD_ME, EC_WORD_GOOD, EC_WORD_FOR, EC_WORD_YOU}, - .mons = - { - [0] = - { - .species = SPECIES_HITMONLEE, - .heldItem = ITEM_FOCUS_BAND, - .moves = {MOVE_MEGA_KICK, MOVE_MIND_READER, MOVE_FOCUS_ENERGY, MOVE_HI_JUMP_KICK}, - .level = 0, - .ppBonuses = 0, - .hpEV = 255, - .attackEV = 255, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 0, - .personality = 0x3, - .nickname = _("HITMONLEE"), - .friendship = 255, - }, - [1] = - { - .species = SPECIES_PORYGON2, - .heldItem = ITEM_SCOPE_LENS, - .moves = {MOVE_LOCK_ON, MOVE_BLIZZARD, MOVE_CONVERSION_2, MOVE_PSYCHIC}, - .level = 0, - .ppBonuses = 0, - .hpEV = 255, - .spAttackEV = 255, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 0, - .personality = 0xF, - .nickname = _("PORYGON2"), - .friendship = 255, - }, - [2] = - { - .species = SPECIES_SUICUNE, - .heldItem = ITEM_PETAYA_BERRY, - .moves = {MOVE_SURF, MOVE_CALM_MIND, MOVE_MIRROR_COAT, MOVE_MIST}, - .level = 0, - .ppBonuses = 0, - .speedEV = 255, - .spAttackEV = 255, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 0, - .personality = 0xF, - .nickname = _("SUICUNE"), - .friendship = 255, - }, - [3] = - { - .species = SPECIES_HOUNDOOM, - .heldItem = ITEM_QUICK_CLAW, - .moves = {MOVE_FLAMETHROWER, MOVE_CRUNCH, MOVE_ROAR, MOVE_WILL_O_WISP}, - .level = 0, - .ppBonuses = 0, - .speedEV = 255, - .spAttackEV = 255, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 1, - .personality = 0xF, - .nickname = _("HOUNDOOM"), - .friendship = 255, - }, - [4] = - { - .species = SPECIES_STANTLER, - .heldItem = ITEM_LEFTOVERS, - .moves = {MOVE_CONFUSE_RAY, MOVE_SWAGGER, MOVE_PSYCH_UP, MOVE_TAKE_DOWN}, - .level = 0, - .ppBonuses = 0, - .attackEV = 255, - .speedEV = 255, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 0, - .personality = 0x3, - .nickname = _("STANTLER"), - .friendship = 255, - }, - [5] = - { - .species = SPECIES_ARTICUNO, - .heldItem = ITEM_NEVER_MELT_ICE, - .moves = {MOVE_BLIZZARD, MOVE_SHEER_COLD, MOVE_MIST, MOVE_AERIAL_ACE}, - .level = 0, - .ppBonuses = 0, - .hpEV = 255, - .spAttackEV = 255, - .otId = TRAINER_HILL_OTID, - .hpIV = 15, - .attackIV = 15, - .defenseIV = 15, - .speedIV = 15, - .spAttackIV = 15, - .spDefenseIV = 15, - .abilityNum = 0, - .personality = 0xF, - .nickname = _("ARTICUNO"), - .friendship = 255, - }, - }, }, - }, - .data = {0xF1, 0xFB, 0xFB, 0xFB, 0xF9, 0xF9, 0x1B, 0x1C, 0x1D, 0xE5, 0xE6, 0xEE, 0xF5, 0xFB, 0xFB, 0x8, 0xED, 0xF5, 0xF5, 0xF5, 0xFB, 0xFB, 0xEC, 0xEC, 0xEC, 0xEB, 0xEC, 0xEC, 0xEC, 0xFB, 0xFB, 0x8, 0xF4, 0xEC, 0xEC, 0xEC, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xEB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0x8, 0xF1, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xFB, 0xEB, 0xFB, 0xF5, 0xF5, 0xF5, 0xF5, 0x8, 0xF1, 0xEB, 0xEC, 0xEC, 0xEC, 0xEB, 0xEC, 0xEC, 0xFB, 0xEC, 0xFB, 0xEC, 0xEC, 0xEC, 0xEC, 0x8, 0xF1, 0xEB, 0xFB, 0xFB, 0xFB, 0xEB, 0xFB, 0xF5, 0xFB, 0xF5, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0x8, 0xF1, 0xEB, 0xFB, 0xF5, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xF5, 0xF5, 0xF5, 0xFB, 0xFB, 0x8, 0xF1, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xEC, 0xEC, 0xEC, 0xFB, 0xFB, 0x8, 0xF1, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xF5, 0xF5, 0xF5, 0xF5, 0x8, 0xF1, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xEC, 0xEC, 0xEC, 0xEC, 0x8, 0xF1, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0x8, 0xF1, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xF5, 0xF5, 0xF5, 0xF5, 0xFB, 0x8, 0xF1, 0xEC, 0xFB, 0xEB, 0xFB, 0xEC, 0xFB, 0xEB, 0xFB, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xFB, 0x8, 0xF1, 0xFB, 0xFB, 0xEB, 0xFB, 0xFB, 0xFB, 0xEB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0x8, 0xF1, 0xFB, 0xFB, 0xEC, 0xFB, 0xFB, 0xFB, 0xEC, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8}, - .unk3A0 = {0x381, 0x3F9, 0xF041, 0x41, 0x7F5F, 0x4401, 0x4541, 0x5579, 0x5541, 0x555F, 0x5541, 0x5541, 0x557D, 0x1101, 0x1101, 0xFFFF}, - .coords = {40, 91}, - .direction = 0x21, - .range = 0x33, + .display = { + .data = {0xF1, 0xFB, 0xFB, 0xFB, 0xF9, 0xF9, 0x1B, 0x1C, 0x1D, 0xE5, 0xE6, 0xEE, 0xF5, 0xFB, 0xFB, 0x8, 0xED, 0xF5, 0xF5, 0xF5, 0xFB, 0xFB, 0xEC, 0xEC, 0xEC, 0xEB, 0xEC, 0xEC, 0xEC, 0xFB, 0xFB, 0x8, 0xF4, 0xEC, 0xEC, 0xEC, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xEB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0x8, 0xF1, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xFB, 0xEB, 0xFB, 0xF5, 0xF5, 0xF5, 0xF5, 0x8, 0xF1, 0xEB, 0xEC, 0xEC, 0xEC, 0xEB, 0xEC, 0xEC, 0xFB, 0xEC, 0xFB, 0xEC, 0xEC, 0xEC, 0xEC, 0x8, 0xF1, 0xEB, 0xFB, 0xFB, 0xFB, 0xEB, 0xFB, 0xF5, 0xFB, 0xF5, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0x8, 0xF1, 0xEB, 0xFB, 0xF5, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xF5, 0xF5, 0xF5, 0xFB, 0xFB, 0x8, 0xF1, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xEC, 0xEC, 0xEC, 0xFB, 0xFB, 0x8, 0xF1, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xF5, 0xF5, 0xF5, 0xF5, 0x8, 0xF1, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xEC, 0xEC, 0xEC, 0xEC, 0x8, 0xF1, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0x8, 0xF1, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xFB, 0xEB, 0xF5, 0xF5, 0xF5, 0xF5, 0xFB, 0x8, 0xF1, 0xEC, 0xFB, 0xEB, 0xFB, 0xEC, 0xFB, 0xEB, 0xFB, 0xEC, 0xEC, 0xEC, 0xEC, 0xEC, 0xFB, 0x8, 0xF1, 0xFB, 0xFB, 0xEB, 0xFB, 0xFB, 0xFB, 0xEB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0x8, 0xF1, 0xFB, 0xFB, 0xEC, 0xFB, 0xFB, 0xFB, 0xEC, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8}, + .unk3A0 = {0x381, 0x3F9, 0xF041, 0x41, 0x7F5F, 0x4401, 0x4541, 0x5579, 0x5541, 0x555F, 0x5541, 0x5541, 0x557D, 0x1101, 0x1101, 0xFFFF}, + .coords = {40, 91}, + .direction = 0x21, + .range = 0x33, + } }, - }, }; + static const struct TrHillTag sDataTagExpert = { .unkField_0 = 8, .unused1 = 1, - .unkField_2 = 4, - .unused3 = 0, - .unused4 = 63, - .unused5 = 31, - .unused6 = 6, - .floors = - { - [0] = + .numFloors = 4, + .checksum = 0x00061F3F +}; + +static const struct TrHillFloor sDataTagExpert_floors[] = { + [0] = { .unk0 = 0x39, .unk1 = 0x3A, .trainers = - { - [0] = - { - .name = _("ALFRED"), - .facilityClass = FACILITY_CLASS_COOLTRAINER_M, - .unused = 0, - .speechBefore = {EC_WORD_WE, EC_WORD_CAN, EC_WORD_TAKE, EC_WORD_ON, EC_WORD_ANY, EC_WORD_TYPE}, - .speechWin = {EC_WORD_WE, EC_WORD_DID, EC_WORD_BETTER, EC_WORD_THAN, EC_WORD_OKAY, EC_WORD_EXCL}, - .speechLose = {EC_WORD_OUR, EC_WORD_STRATEGY, EC_WORD_ISN_T, EC_WORD_ANY, EC_WORD_GOOD, EC_WORD_ELLIPSIS}, - .speechAfter = {EC_WORD_WE, EC_WORD_NEED, EC_WORD_TO, EC_WORD_TRAIN, EC_WORD_A_LOT, EC_WORD_MORE}, - .mons = - { - [0] = - { - .species = SPECIES_SNORLAX, - .heldItem = ITEM_QUICK_CLAW, - .moves = {MOVE_MEGA_KICK, MOVE_SHADOW_BALL, MOVE_BRICK_BREAK, MOVE_EARTHQUAKE}, - .level = 0, - .ppBonuses = 0, - .hpEV = 6, - .attackEV = 252, - .defenseEV = 252, - .otId = TRAINER_HILL_OTID, - .hpIV = 31, - .attackIV = 31, - .defenseIV = 31, - .speedIV = 31, - .spAttackIV = 31, - .spDefenseIV = 31, - .abilityNum = 0, - .personality = 0x35, - .nickname = _("SNORLAX"), - .friendship = 255, - }, - [1] = - { - .species = SPECIES_MILTANK, - .heldItem = ITEM_LEFTOVERS, - .moves = {MOVE_DOUBLE_EDGE, MOVE_SHADOW_BALL, MOVE_ATTRACT, MOVE_MILK_DRINK}, - .level = 0, - .ppBonuses = 0, - .hpEV = 6, - .attackEV = 252, - .speedEV = 252, - .otId = TRAINER_HILL_OTID, - .hpIV = 31, - .attackIV = 31, - .defenseIV = 31, - .speedIV = 31, - .spAttackIV = 31, - .spDefenseIV = 31, - .abilityNum = 0, - .personality = 0x3, - .nickname = _("MILTANK"), - .friendship = 255, - }, - [2] = - { - .species = SPECIES_URSARING, - .heldItem = ITEM_QUICK_CLAW, - .moves = {MOVE_DOUBLE_EDGE, MOVE_CRUNCH, MOVE_BRICK_BREAK, MOVE_AERIAL_ACE}, - .level = 0, - .ppBonuses = 0, - .hpEV = 252, - .attackEV = 252, - .spAttackEV = 6, - .otId = TRAINER_HILL_OTID, - .hpIV = 31, - .attackIV = 31, - .defenseIV = 31, - .speedIV = 31, - .spAttackIV = 31, - .spDefenseIV = 31, - .abilityNum = 0, - .personality = 0x7F, - .nickname = _("URSARING"), - .friendship = 255, - }, - [3] = - { - .species = SPECIES_SLAKING, - .heldItem = ITEM_CHESTO_BERRY, - .moves = {MOVE_HYPER_BEAM, MOVE_SHADOW_BALL, MOVE_BRICK_BREAK, MOVE_REST}, - .level = 0, - .ppBonuses = 0, - .hpEV = 6, - .attackEV = 252, - .spDefenseEV = 252, - .otId = TRAINER_HILL_OTID, - .hpIV = 31, - .attackIV = 31, - .defenseIV = 31, - .speedIV = 31, - .spAttackIV = 31, - .spDefenseIV = 31, - .abilityNum = 0, - .personality = 0x80, - .nickname = _("SLAKING"), - .friendship = 255, - }, - [4] = - { - .species = SPECIES_KANGASKHAN, - .heldItem = ITEM_LEFTOVERS, - .moves = {MOVE_MEGA_KICK, MOVE_SHADOW_BALL, MOVE_ATTRACT, MOVE_FAKE_OUT}, - .level = 0, - .ppBonuses = 0, - .hpEV = 6, - .attackEV = 252, - .speedEV = 252, - .otId = TRAINER_HILL_OTID, - .hpIV = 31, - .attackIV = 31, - .defenseIV = 31, - .speedIV = 31, - .spAttackIV = 31, - .spDefenseIV = 31, - .abilityNum = 0, - .personality = 0x3, - .nickname = _("KANGASKHAN"), - .friendship = 255, - }, - [5] = - { - .species = SPECIES_ZANGOOSE, - .heldItem = ITEM_SCOPE_LENS, - .moves = {MOVE_CRUSH_CLAW, MOVE_SHADOW_BALL, MOVE_BRICK_BREAK, MOVE_ROAR}, - .level = 0, - .ppBonuses = 0, - .hpEV = 6, - .attackEV = 252, - .speedEV = 252, - .otId = TRAINER_HILL_OTID, - .hpIV = 31, - .attackIV = 31, - .defenseIV = 31, - .speedIV = 31, - .spAttackIV = 31, - .spDefenseIV = 31, - .abilityNum = 0, - .personality = 0x80, - .nickname = _("ZANGOOSE"), - .friendship = 255, - }, - }, - }, - [1] = { - .name = _("EDIE"), - .facilityClass = FACILITY_CLASS_PSYCHIC_F, - .unused = 0, - .speechBefore = {EC_WORD_WE, EC_WORD_WILL_BE_HERE, EC_WORD_FOR, EC_WORD_ANY, EC_WORD_TRAINER, EC_WORD_CHALLENGE}, - .speechWin = {EC_WORD_MY, EC_WORD_STRATEGY, EC_WORD_WORKS, EC_WORD_TO, EC_WORD_PERFECTION, EC_WORD_EXCL}, - .speechLose = {EC_WORD_NO, EC_WORD_NO, EC_WORD_ELLIPSIS, EC_WORD_THAT, EC_WORD_WON_T, EC_WORD_DO}, - .speechAfter = {EC_WORD_THERE, EC_WORD_SHOULD, EC_WORD_BE, EC_WORD_A, EC_WORD_TRAINER, EC_WORD_SCHOOL}, - .mons = - { - [0] = - { - .species = SPECIES_SLOWKING, - .heldItem = ITEM_LEFTOVERS, - .moves = {MOVE_PSYCHIC, MOVE_SURF, MOVE_ICE_BEAM, MOVE_SKILL_SWAP}, - .level = 0, - .ppBonuses = 0, - .hpEV = 200, - .defenseEV = 110, - .spAttackEV = 200, - .otId = TRAINER_HILL_OTID, - .hpIV = 31, - .attackIV = 31, - .defenseIV = 31, - .speedIV = 31, - .spAttackIV = 31, - .spDefenseIV = 31, - .abilityNum = 1, - .personality = 0xF, - .nickname = _("SLOWKING"), - .friendship = 255, - }, - [1] = - { - .species = SPECIES_ESPEON, - .heldItem = ITEM_LUM_BERRY, - .moves = {MOVE_PSYCHIC, MOVE_BITE, MOVE_CALM_MIND, MOVE_REFLECT}, - .level = 0, - .ppBonuses = 0, - .hpEV = 6, - .speedEV = 252, - .spAttackEV = 252, - .otId = TRAINER_HILL_OTID, - .hpIV = 31, - .attackIV = 31, - .defenseIV = 31, - .speedIV = 31, - .spAttackIV = 31, - .spDefenseIV = 31, - .abilityNum = 0, - .personality = 0x28, - .nickname = _("ESPEON"), - .friendship = 255, - }, - [2] = - { - .species = SPECIES_STARMIE, - .heldItem = ITEM_SHELL_BELL, - .moves = {MOVE_PSYCHIC, MOVE_SURF, MOVE_THUNDERBOLT, MOVE_ICE_BEAM}, - .level = 0, - .ppBonuses = 0, - .hpEV = 6, - .speedEV = 252, - .spAttackEV = 252, - .otId = TRAINER_HILL_OTID, - .hpIV = 31, - .attackIV = 31, - .defenseIV = 31, - .speedIV = 31, - .spAttackIV = 31, - .spDefenseIV = 31, - .abilityNum = 1, - .personality = 0xF, - .nickname = _("STARMIE"), - .friendship = 255, + [0] = + { + .name = _("ALFRED"), + .facilityClass = FACILITY_CLASS_COOLTRAINER_M, + .unused = 0, + .speechBefore = {EC_WORD_WE, EC_WORD_CAN, EC_WORD_TAKE, EC_WORD_ON, EC_WORD_ANY, EC_WORD_TYPE}, + .speechWin = {EC_WORD_WE, EC_WORD_DID, EC_WORD_BETTER, EC_WORD_THAN, EC_WORD_OKAY, EC_WORD_EXCL}, + .speechLose = {EC_WORD_OUR, EC_WORD_STRATEGY, EC_WORD_ISN_T, EC_WORD_ANY, EC_WORD_GOOD, EC_WORD_ELLIPSIS}, + .speechAfter = {EC_WORD_WE, EC_WORD_NEED, EC_WORD_TO, EC_WORD_TRAIN, EC_WORD_A_LOT, EC_WORD_MORE}, + .mons = + { + [0] = + { + .species = SPECIES_SNORLAX, + .heldItem = ITEM_QUICK_CLAW, + .moves = {MOVE_MEGA_KICK, MOVE_SHADOW_BALL, MOVE_BRICK_BREAK, MOVE_EARTHQUAKE}, + .level = 0, + .ppBonuses = 0, + .hpEV = 6, + .attackEV = 252, + .defenseEV = 252, + .otId = TRAINER_HILL_OTID, + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x35, + .nickname = _("SNORLAX"), + .friendship = 255, + }, + [1] = + { + .species = SPECIES_MILTANK, + .heldItem = ITEM_LEFTOVERS, + .moves = {MOVE_DOUBLE_EDGE, MOVE_SHADOW_BALL, MOVE_ATTRACT, MOVE_MILK_DRINK}, + .level = 0, + .ppBonuses = 0, + .hpEV = 6, + .attackEV = 252, + .speedEV = 252, + .otId = TRAINER_HILL_OTID, + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x3, + .nickname = _("MILTANK"), + .friendship = 255, + }, + [2] = + { + .species = SPECIES_URSARING, + .heldItem = ITEM_QUICK_CLAW, + .moves = {MOVE_DOUBLE_EDGE, MOVE_CRUNCH, MOVE_BRICK_BREAK, MOVE_AERIAL_ACE}, + .level = 0, + .ppBonuses = 0, + .hpEV = 252, + .attackEV = 252, + .spAttackEV = 6, + .otId = TRAINER_HILL_OTID, + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x7F, + .nickname = _("URSARING"), + .friendship = 255, + }, + [3] = + { + .species = SPECIES_SLAKING, + .heldItem = ITEM_CHESTO_BERRY, + .moves = {MOVE_HYPER_BEAM, MOVE_SHADOW_BALL, MOVE_BRICK_BREAK, MOVE_REST}, + .level = 0, + .ppBonuses = 0, + .hpEV = 6, + .attackEV = 252, + .spDefenseEV = 252, + .otId = TRAINER_HILL_OTID, + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x80, + .nickname = _("SLAKING"), + .friendship = 255, + }, + [4] = + { + .species = SPECIES_KANGASKHAN, + .heldItem = ITEM_LEFTOVERS, + .moves = {MOVE_MEGA_KICK, MOVE_SHADOW_BALL, MOVE_ATTRACT, MOVE_FAKE_OUT}, + .level = 0, + .ppBonuses = 0, + .hpEV = 6, + .attackEV = 252, + .speedEV = 252, + .otId = TRAINER_HILL_OTID, + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x3, + .nickname = _("KANGASKHAN"), + .friendship = 255, + }, + [5] = + { + .species = SPECIES_ZANGOOSE, + .heldItem = ITEM_SCOPE_LENS, + .moves = {MOVE_CRUSH_CLAW, MOVE_SHADOW_BALL, MOVE_BRICK_BREAK, MOVE_ROAR}, + .level = 0, + .ppBonuses = 0, + .hpEV = 6, + .attackEV = 252, + .speedEV = 252, + .otId = TRAINER_HILL_OTID, + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x80, + .nickname = _("ZANGOOSE"), + .friendship = 255, + }, + }, + }, + [1] = + { + .name = _("EDIE"), + .facilityClass = FACILITY_CLASS_PSYCHIC_F, + .unused = 0, + .speechBefore = {EC_WORD_WE, EC_WORD_WILL_BE_HERE, EC_WORD_FOR, EC_WORD_ANY, EC_WORD_TRAINER, EC_WORD_CHALLENGE}, + .speechWin = {EC_WORD_MY, EC_WORD_STRATEGY, EC_WORD_WORKS, EC_WORD_TO, EC_WORD_PERFECTION, EC_WORD_EXCL}, + .speechLose = {EC_WORD_NO, EC_WORD_NO, EC_WORD_ELLIPSIS, EC_WORD_THAT, EC_WORD_WON_T, EC_WORD_DO}, + .speechAfter = {EC_WORD_THERE, EC_WORD_SHOULD, EC_WORD_BE, EC_WORD_A, EC_WORD_TRAINER, EC_WORD_SCHOOL}, + .mons = + { + [0] = + { + .species = SPECIES_SLOWKING, + .heldItem = ITEM_LEFTOVERS, + .moves = {MOVE_PSYCHIC, MOVE_SURF, MOVE_ICE_BEAM, MOVE_SKILL_SWAP}, + .level = 0, + .ppBonuses = 0, + .hpEV = 200, + .defenseEV = 110, + .spAttackEV = 200, + .otId = TRAINER_HILL_OTID, + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 1, + .personality = 0xF, + .nickname = _("SLOWKING"), + .friendship = 255, + }, + [1] = + { + .species = SPECIES_ESPEON, + .heldItem = ITEM_LUM_BERRY, + .moves = {MOVE_PSYCHIC, MOVE_BITE, MOVE_CALM_MIND, MOVE_REFLECT}, + .level = 0, + .ppBonuses = 0, + .hpEV = 6, + .speedEV = 252, + .spAttackEV = 252, + .otId = TRAINER_HILL_OTID, + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x28, + .nickname = _("ESPEON"), + .friendship = 255, + }, + [2] = + { + .species = SPECIES_STARMIE, + .heldItem = ITEM_SHELL_BELL, + .moves = {MOVE_PSYCHIC, MOVE_SURF, MOVE_THUNDERBOLT, MOVE_ICE_BEAM}, + .level = 0, + .ppBonuses = 0, + .hpEV = 6, + .speedEV = 252, + .spAttackEV = 252, + .otId = TRAINER_HILL_OTID, + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 1, + .personality = 0xF, + .nickname = _("STARMIE"), + .friendship = 255, + }, + [3] = + { + .species = SPECIES_GENGAR, + .heldItem = ITEM_LUM_BERRY, + .moves = {MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH}, + .level = 0, + .ppBonuses = 0, + .hpEV = 6, + .speedEV = 252, + .spAttackEV = 252, + .otId = TRAINER_HILL_OTID, + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0xF, + .nickname = _("GENGAR"), + .friendship = 255, + }, + [4] = + { + .species = SPECIES_GARDEVOIR, + .heldItem = ITEM_SALAC_BERRY, + .moves = {MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_MAGICAL_LEAF, MOVE_DESTINY_BOND}, + .level = 0, + .ppBonuses = 0, + .hpEV = 6, + .speedEV = 252, + .spAttackEV = 252, + .otId = TRAINER_HILL_OTID, + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0xF, + .nickname = _("GARDEVOIR"), + .friendship = 255, + }, + [5] = + { + .species = SPECIES_ALAKAZAM, + .heldItem = ITEM_LUM_BERRY, + .moves = {MOVE_PSYCHIC, MOVE_RECOVER, MOVE_THUNDER_WAVE, MOVE_ATTRACT}, + .level = 0, + .ppBonuses = 0, + .hpEV = 6, + .speedEV = 252, + .spAttackEV = 252, + .otId = TRAINER_HILL_OTID, + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0xF, + .nickname = _("ALAKAZAM"), + .friendship = 255, + }, + }, }, - [3] = - { - .species = SPECIES_GENGAR, - .heldItem = ITEM_LUM_BERRY, - .moves = {MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH}, - .level = 0, - .ppBonuses = 0, - .hpEV = 6, - .speedEV = 252, - .spAttackEV = 252, - .otId = TRAINER_HILL_OTID, - .hpIV = 31, - .attackIV = 31, - .defenseIV = 31, - .speedIV = 31, - .spAttackIV = 31, - .spDefenseIV = 31, - .abilityNum = 0, - .personality = 0xF, - .nickname = _("GENGAR"), - .friendship = 255, - }, - [4] = - { - .species = SPECIES_GARDEVOIR, - .heldItem = ITEM_SALAC_BERRY, - .moves = {MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_MAGICAL_LEAF, MOVE_DESTINY_BOND}, - .level = 0, - .ppBonuses = 0, - .hpEV = 6, - .speedEV = 252, - .spAttackEV = 252, - .otId = TRAINER_HILL_OTID, - .hpIV = 31, - .attackIV = 31, - .defenseIV = 31, - .speedIV = 31, - .spAttackIV = 31, - .spDefenseIV = 31, - .abilityNum = 0, - .personality = 0xF, - .nickname = _("GARDEVOIR"), - .friendship = 255, - }, - [5] = - { - .species = SPECIES_ALAKAZAM, - .heldItem = ITEM_LUM_BERRY, - .moves = {MOVE_PSYCHIC, MOVE_RECOVER, MOVE_THUNDER_WAVE, MOVE_ATTRACT}, - .level = 0, - .ppBonuses = 0, - .hpEV = 6, - .speedEV = 252, - .spAttackEV = 252, - .otId = TRAINER_HILL_OTID, - .hpIV = 31, - .attackIV = 31, - .defenseIV = 31, - .speedIV = 31, - .spAttackIV = 31, - .spDefenseIV = 31, - .abilityNum = 0, - .personality = 0xF, - .nickname = _("ALAKAZAM"), - .friendship = 255, - }, - }, }, - }, - .data = {0x31, 0x3B, 0x3B, 0x3B, 0x39, 0x39, 0x1B, 0x14, 0x15, 0x38, 0x39, 0x3A, 0x3B, 0x3B, 0x3B, 0x8, 0x31, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, 0x2C, 0x39, 0x39, 0x3A, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, 0x8, 0x31, 0x3B, 0x8, 0x8, 0x8, 0x8, 0x8, 0x3B, 0x8, 0x8, 0x8, 0x8, 0x8, 0x3B, 0x3B, 0x8, 0x69, 0x73, 0x8, 0x4D, 0x4D, 0x4D, 0x4D, 0xD1, 0x4D, 0x4D, 0x4D, 0x4D, 0x8, 0x69, 0x73, 0x8, 0x40, 0x3B, 0x8, 0x55, 0x55, 0x55, 0x55, 0xD1, 0x55, 0x55, 0x55, 0x55, 0x8, 0x31, 0x41, 0x8, 0x69, 0x41, 0x8, 0xC5, 0xD9, 0xD9, 0xD9, 0x9A, 0xD9, 0xD9, 0xD9, 0xC6, 0x8, 0x41, 0x73, 0x8, 0x69, 0x3B, 0x8, 0xD4, 0xDB, 0x9B, 0x73, 0x73, 0x73, 0x9B, 0xDB, 0xCC, 0x8, 0x31, 0x73, 0x8, 0x69, 0x3B, 0x8, 0xCD, 0x9B, 0x73, 0x73, 0x44, 0x73, 0x73, 0x9B, 0xD5, 0x8, 0x31, 0x73, 0x8, 0x69, 0x3B, 0x8, 0xD4, 0xDB, 0x9B, 0x73, 0x73, 0x73, 0x9B, 0xDB, 0xCC, 0x8, 0x31, 0x73, 0x8, 0x69, 0x41, 0x8, 0xD1, 0xDB, 0xDB, 0xDB, 0x9B, 0xDB, 0xDB, 0xDB, 0xDB, 0x8, 0x41, 0x73, 0x8, 0x40, 0x3B, 0x8, 0x8, 0xC7, 0xC7, 0xDB, 0xDB, 0xDB, 0xC7, 0xC7, 0x8, 0x8, 0x31, 0x41, 0x8, 0x69, 0x3B, 0x4D, 0x4D, 0x67, 0x67, 0xDB, 0xDB, 0xDB, 0x67, 0x67, 0x4D, 0x4D, 0x31, 0x73, 0x8, 0x69, 0x3B, 0x55, 0x55, 0xD7, 0xD7, 0xD1, 0xDB, 0xDB, 0xD7, 0xD7, 0x55, 0x55, 0x31, 0x73, 0x8, 0x69, 0x3B, 0x39, 0x39, 0x39, 0x39, 0x3A, 0x3B, 0x3B, 0x39, 0x39, 0x39, 0x39, 0x3A, 0x73, 0x8, 0x69, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8}, - .unk3A0 = {0x381, 0x201, 0x3EF9, 0x3EF9, 0x3EF9, 0x2009, 0x3019, 0x2009, 0x3019, 0x2009, 0x3019, 0x3019, 0x3C79, 0x1, 0x1, 0xFFFF}, - .coords = {116, 122}, - .direction = 0x23, - .range = 0x55, + .display = { + .data = {0x31, 0x3B, 0x3B, 0x3B, 0x39, 0x39, 0x1B, 0x14, 0x15, 0x38, 0x39, 0x3A, 0x3B, 0x3B, 0x3B, 0x8, 0x31, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, 0x2C, 0x39, 0x39, 0x3A, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, 0x8, 0x31, 0x3B, 0x8, 0x8, 0x8, 0x8, 0x8, 0x3B, 0x8, 0x8, 0x8, 0x8, 0x8, 0x3B, 0x3B, 0x8, 0x69, 0x73, 0x8, 0x4D, 0x4D, 0x4D, 0x4D, 0xD1, 0x4D, 0x4D, 0x4D, 0x4D, 0x8, 0x69, 0x73, 0x8, 0x40, 0x3B, 0x8, 0x55, 0x55, 0x55, 0x55, 0xD1, 0x55, 0x55, 0x55, 0x55, 0x8, 0x31, 0x41, 0x8, 0x69, 0x41, 0x8, 0xC5, 0xD9, 0xD9, 0xD9, 0x9A, 0xD9, 0xD9, 0xD9, 0xC6, 0x8, 0x41, 0x73, 0x8, 0x69, 0x3B, 0x8, 0xD4, 0xDB, 0x9B, 0x73, 0x73, 0x73, 0x9B, 0xDB, 0xCC, 0x8, 0x31, 0x73, 0x8, 0x69, 0x3B, 0x8, 0xCD, 0x9B, 0x73, 0x73, 0x44, 0x73, 0x73, 0x9B, 0xD5, 0x8, 0x31, 0x73, 0x8, 0x69, 0x3B, 0x8, 0xD4, 0xDB, 0x9B, 0x73, 0x73, 0x73, 0x9B, 0xDB, 0xCC, 0x8, 0x31, 0x73, 0x8, 0x69, 0x41, 0x8, 0xD1, 0xDB, 0xDB, 0xDB, 0x9B, 0xDB, 0xDB, 0xDB, 0xDB, 0x8, 0x41, 0x73, 0x8, 0x40, 0x3B, 0x8, 0x8, 0xC7, 0xC7, 0xDB, 0xDB, 0xDB, 0xC7, 0xC7, 0x8, 0x8, 0x31, 0x41, 0x8, 0x69, 0x3B, 0x4D, 0x4D, 0x67, 0x67, 0xDB, 0xDB, 0xDB, 0x67, 0x67, 0x4D, 0x4D, 0x31, 0x73, 0x8, 0x69, 0x3B, 0x55, 0x55, 0xD7, 0xD7, 0xD1, 0xDB, 0xDB, 0xD7, 0xD7, 0x55, 0x55, 0x31, 0x73, 0x8, 0x69, 0x3B, 0x39, 0x39, 0x39, 0x39, 0x3A, 0x3B, 0x3B, 0x39, 0x39, 0x39, 0x39, 0x3A, 0x73, 0x8, 0x69, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x73, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8}, + .unk3A0 = {0x381, 0x201, 0x3EF9, 0x3EF9, 0x3EF9, 0x2009, 0x3019, 0x2009, 0x3019, 0x2009, 0x3019, 0x3019, 0x3C79, 0x1, 0x1, 0xFFFF}, + .coords = {116, 122}, + .direction = 0x23, + .range = 0x55, + } }, - [1] = + [1] = { .unk0 = 0x3B, .unk1 = 0x3C, .trainers = - { - [0] = { - .name = _("RODERICK"), - .facilityClass = FACILITY_CLASS_COOLTRAINER_M, - .unused = 0, - .speechBefore = {EC_WORD_I, EC_WORD_CAN, EC_WORD_WIN, EC_WORD_WITHOUT, EC_WORD_A, EC_MOVE2(HELPING_HAND)}, - .speechWin = {EC_WORD_IT_S, EC_WORD_ONLY, EC_WORD_NATURAL, EC_WORD_THAT, EC_WORD_I, EC_WORD_WIN}, - .speechLose = {EC_WORD_LOSING, EC_WORD_HAS, EC_WORD_ME, EC_WORD_FEELING, EC_WORD_SMALL, EC_WORD_ELLIPSIS}, - .speechAfter = {EC_WORD_YOU, EC_WORD_HAVE, EC_WORD_A, EC_WORD_GOOD, EC_WORD_TEACHER, EC_WORD_QUES}, - .mons = - { - [0] = - { - .species = SPECIES_SWELLOW, - .heldItem = ITEM_LEFTOVERS, - .moves = {MOVE_AERIAL_ACE, MOVE_AGILITY, MOVE_FACADE, MOVE_ATTRACT}, - .level = 0, - .ppBonuses = 0, - .hpEV = 252, - .attackEV = 252, - .spDefenseEV = 6, - .otId = TRAINER_HILL_OTID, - .hpIV = 31, - .attackIV = 31, - .defenseIV = 31, - .speedIV = 31, - .spAttackIV = 31, - .spDefenseIV = 31, - .abilityNum = 0, - .personality = 0x3, - .nickname = _("SWELLOW"), - .friendship = 255, - }, - [1] = - { - .species = SPECIES_MACHAMP, - .heldItem = ITEM_LEFTOVERS, - .moves = {MOVE_LOW_KICK, MOVE_ROCK_SLIDE, MOVE_FACADE, MOVE_ATTRACT}, - .level = 0, - .ppBonuses = 0, - .hpEV = 252, - .attackEV = 252, - .spDefenseEV = 6, - .otId = TRAINER_HILL_OTID, - .hpIV = 31, - .attackIV = 31, - .defenseIV = 31, - .speedIV = 31, - .spAttackIV = 31, - .spDefenseIV = 31, - .abilityNum = 0, - .personality = 0x3, - .nickname = _("MACHAMP"), - .friendship = 255, - }, - [2] = - { - .species = SPECIES_URSARING, - .heldItem = ITEM_LEFTOVERS, - .moves = {MOVE_PROTECT, MOVE_ROCK_SLIDE, MOVE_FACADE, MOVE_ATTRACT}, - .level = 0, - .ppBonuses = 0, - .hpEV = 252, - .attackEV = 252, - .spDefenseEV = 6, - .otId = TRAINER_HILL_OTID, - .hpIV = 31, - .attackIV = 31, - .defenseIV = 31, - .speedIV = 31, - .spAttackIV = 31, - .spDefenseIV = 31, - .abilityNum = 0, - .personality = 0x3, - .nickname = _("URSARING"), - .friendship = 255, - }, - [3] = - { - .species = SPECIES_KINGLER, - .heldItem = ITEM_PERSIM_BERRY, - .moves = {MOVE_RETURN, MOVE_PROTECT, MOVE_CRABHAMMER, MOVE_ATTRACT}, - .level = 0, - .ppBonuses = 0, - .hpEV = 252, - .attackEV = 252, - .spDefenseEV = 6, - .otId = TRAINER_HILL_OTID, - .hpIV = 31, - .attackIV = 31, - .defenseIV = 31, - .speedIV = 31, - .spAttackIV = 31, - .spDefenseIV = 31, - .abilityNum = 0, - .personality = 0x80, - .nickname = _("KINGLER"), - .friendship = 255, - }, - [4] = - { - .species = SPECIES_TYRANITAR, - .heldItem = ITEM_PERSIM_BERRY, - .moves = {MOVE_ROCK_SLIDE, MOVE_CRUNCH, MOVE_EARTHQUAKE, MOVE_ATTRACT}, - .level = 0, - .ppBonuses = 0, - .hpEV = 252, - .attackEV = 252, - .defenseEV = 6, - .otId = TRAINER_HILL_OTID, - .hpIV = 31, - .attackIV = 31, - .defenseIV = 31, - .speedIV = 31, - .spAttackIV = 31, - .spDefenseIV = 31, - .abilityNum = 0, - .personality = 0x80, - .nickname = _("TYRANITAR"), - .friendship = 255, + [0] = + { + .name = _("RODERICK"), + .facilityClass = FACILITY_CLASS_COOLTRAINER_M, + .unused = 0, + .speechBefore = {EC_WORD_I, EC_WORD_CAN, EC_WORD_WIN, EC_WORD_WITHOUT, EC_WORD_A, EC_MOVE2(HELPING_HAND)}, + .speechWin = {EC_WORD_IT_S, EC_WORD_ONLY, EC_WORD_NATURAL, EC_WORD_THAT, EC_WORD_I, EC_WORD_WIN}, + .speechLose = {EC_WORD_LOSING, EC_WORD_HAS, EC_WORD_ME, EC_WORD_FEELING, EC_WORD_SMALL, EC_WORD_ELLIPSIS}, + .speechAfter = {EC_WORD_YOU, EC_WORD_HAVE, EC_WORD_A, EC_WORD_GOOD, EC_WORD_TEACHER, EC_WORD_QUES}, + .mons = + { + [0] = + { + .species = SPECIES_SWELLOW, + .heldItem = ITEM_LEFTOVERS, + .moves = {MOVE_AERIAL_ACE, MOVE_AGILITY, MOVE_FACADE, MOVE_ATTRACT}, + .level = 0, + .ppBonuses = 0, + .hpEV = 252, + .attackEV = 252, + .spDefenseEV = 6, + .otId = TRAINER_HILL_OTID, + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x3, + .nickname = _("SWELLOW"), + .friendship = 255, + }, + [1] = + { + .species = SPECIES_MACHAMP, + .heldItem = ITEM_LEFTOVERS, + .moves = {MOVE_LOW_KICK, MOVE_ROCK_SLIDE, MOVE_FACADE, MOVE_ATTRACT}, + .level = 0, + .ppBonuses = 0, + .hpEV = 252, + .attackEV = 252, + .spDefenseEV = 6, + .otId = TRAINER_HILL_OTID, + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x3, + .nickname = _("MACHAMP"), + .friendship = 255, + }, + [2] = + { + .species = SPECIES_URSARING, + .heldItem = ITEM_LEFTOVERS, + .moves = {MOVE_PROTECT, MOVE_ROCK_SLIDE, MOVE_FACADE, MOVE_ATTRACT}, + .level = 0, + .ppBonuses = 0, + .hpEV = 252, + .attackEV = 252, + .spDefenseEV = 6, + .otId = TRAINER_HILL_OTID, + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x3, + .nickname = _("URSARING"), + .friendship = 255, + }, + [3] = + { + .species = SPECIES_KINGLER, + .heldItem = ITEM_PERSIM_BERRY, + .moves = {MOVE_RETURN, MOVE_PROTECT, MOVE_CRABHAMMER, MOVE_ATTRACT}, + .level = 0, + .ppBonuses = 0, + .hpEV = 252, + .attackEV = 252, + .spDefenseEV = 6, + .otId = TRAINER_HILL_OTID, + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x80, + .nickname = _("KINGLER"), + .friendship = 255, + }, + [4] = + { + .species = SPECIES_TYRANITAR, + .heldItem = ITEM_PERSIM_BERRY, + .moves = {MOVE_ROCK_SLIDE, MOVE_CRUNCH, MOVE_EARTHQUAKE, MOVE_ATTRACT}, + .level = 0, + .ppBonuses = 0, + .hpEV = 252, + .attackEV = 252, + .defenseEV = 6, + .otId = TRAINER_HILL_OTID, + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x80, + .nickname = _("TYRANITAR"), + .friendship = 255, + }, + [5] = + { + .species = SPECIES_DRAGONITE, + .heldItem = ITEM_PERSIM_BERRY, + .moves = {MOVE_BODY_SLAM, MOVE_THUNDER_WAVE, MOVE_EARTHQUAKE, MOVE_ATTRACT}, + .level = 0, + .ppBonuses = 0, + .hpEV = 252, + .attackEV = 252, + .spDefenseEV = 6, + .otId = TRAINER_HILL_OTID, + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x80, + .nickname = _("DRAGONITE"), + .friendship = 255, + }, + }, + }, + [1] = + { + .name = _("ALICIA"), + .facilityClass = FACILITY_CLASS_COOLTRAINER_F, + .unused = 0, + .speechBefore = {EC_WORD_I, EC_WORD_DON_T, EC_WORD_NEED, EC_WORD_A, EC_MOVE2(HELPING_HAND), EC_WORD_EXCL}, + .speechWin = {EC_WORD_SORRY, EC_WORD_EXCL, EC_WORD_TOO, EC_WORD_BAD, EC_WORD_FOR, EC_WORD_YOU}, + .speechLose = {EC_WORD_WHAT, EC_WORD_AN, EC_WORD_UNBELIEVABLE, EC_MOVE2(STRUGGLE), EC_WORD_THAT_WAS, EC_WORD_EXCL}, + .speechAfter = {EC_WORD_I, EC_WORD_CAN, EC_WORD_BE, EC_WORD_YOUR, EC_WORD_POKEMON, EC_WORD_TEACHER}, + .mons = + { + [0] = + { + .species = SPECIES_JOLTEON, + .heldItem = ITEM_BRIGHT_POWDER, + .moves = {MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_ATTRACT, MOVE_SWAGGER}, + .level = 0, + .ppBonuses = 0, + .hpEV = 6, + .speedEV = 252, + .spAttackEV = 252, + .otId = TRAINER_HILL_OTID, + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0xA, + .nickname = _("JOLTEON"), + .friendship = 255, + }, + [1] = + { + .species = SPECIES_ALAKAZAM, + .heldItem = ITEM_KINGS_ROCK, + .moves = {MOVE_PSYCHIC, MOVE_ICE_PUNCH, MOVE_ATTRACT, MOVE_SWAGGER}, + .level = 0, + .ppBonuses = 0, + .hpEV = 6, + .speedEV = 252, + .spAttackEV = 252, + .otId = TRAINER_HILL_OTID, + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0xA, + .nickname = _("ALAKAZAM"), + .friendship = 255, + }, + [2] = + { + .species = SPECIES_STARMIE, + .heldItem = ITEM_SCOPE_LENS, + .moves = {MOVE_SURF, MOVE_PSYCHIC, MOVE_CONFUSE_RAY, MOVE_SWAGGER}, + .level = 0, + .ppBonuses = 0, + .hpEV = 6, + .speedEV = 252, + .spAttackEV = 252, + .otId = TRAINER_HILL_OTID, + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 1, + .personality = 0xA, + .nickname = _("STARMIE"), + .friendship = 255, + }, + [3] = + { + .species = SPECIES_DUSCLOPS, + .heldItem = ITEM_LEFTOVERS, + .moves = {MOVE_PURSUIT, MOVE_PROTECT, MOVE_ATTRACT, MOVE_WILL_O_WISP}, + .level = 0, + .ppBonuses = 0, + .hpEV = 252, + .defenseEV = 252, + .spDefenseEV = 6, + .otId = TRAINER_HILL_OTID, + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x82, + .nickname = _("DUSCLOPS"), + .friendship = 255, + }, + [4] = + { + .species = SPECIES_NINETALES, + .heldItem = ITEM_WHITE_HERB, + .moves = {MOVE_OVERHEAT, MOVE_CONFUSE_RAY, MOVE_WILL_O_WISP, MOVE_ATTRACT}, + .level = 0, + .ppBonuses = 0, + .hpEV = 6, + .speedEV = 252, + .spAttackEV = 252, + .otId = TRAINER_HILL_OTID, + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0xD2, + .nickname = _("NINETALES"), + .friendship = 255, + }, + [5] = + { + .species = SPECIES_BANETTE, + .heldItem = ITEM_FOCUS_BAND, + .moves = {MOVE_SHADOW_BALL, MOVE_FAINT_ATTACK, MOVE_ATTRACT, MOVE_WILL_O_WISP}, + .level = 0, + .ppBonuses = 0, + .hpEV = 252, + .defenseEV = 252, + .spDefenseEV = 6, + .otId = TRAINER_HILL_OTID, + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x85, + .nickname = _("BANETTE"), + .friendship = 255, + }, + }, }, - [5] = - { - .species = SPECIES_DRAGONITE, - .heldItem = ITEM_PERSIM_BERRY, - .moves = {MOVE_BODY_SLAM, MOVE_THUNDER_WAVE, MOVE_EARTHQUAKE, MOVE_ATTRACT}, - .level = 0, - .ppBonuses = 0, - .hpEV = 252, - .attackEV = 252, - .spDefenseEV = 6, - .otId = TRAINER_HILL_OTID, - .hpIV = 31, - .attackIV = 31, - .defenseIV = 31, - .speedIV = 31, - .spAttackIV = 31, - .spDefenseIV = 31, - .abilityNum = 0, - .personality = 0x80, - .nickname = _("DRAGONITE"), - .friendship = 255, - }, - }, }, - [1] = - { - .name = _("ALICIA"), - .facilityClass = FACILITY_CLASS_COOLTRAINER_F, - .unused = 0, - .speechBefore = {EC_WORD_I, EC_WORD_DON_T, EC_WORD_NEED, EC_WORD_A, EC_MOVE2(HELPING_HAND), EC_WORD_EXCL}, - .speechWin = {EC_WORD_SORRY, EC_WORD_EXCL, EC_WORD_TOO, EC_WORD_BAD, EC_WORD_FOR, EC_WORD_YOU}, - .speechLose = {EC_WORD_WHAT, EC_WORD_AN, EC_WORD_UNBELIEVABLE, EC_MOVE2(STRUGGLE), EC_WORD_THAT_WAS, EC_WORD_EXCL}, - .speechAfter = {EC_WORD_I, EC_WORD_CAN, EC_WORD_BE, EC_WORD_YOUR, EC_WORD_POKEMON, EC_WORD_TEACHER}, - .mons = - { - [0] = - { - .species = SPECIES_JOLTEON, - .heldItem = ITEM_BRIGHT_POWDER, - .moves = {MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_ATTRACT, MOVE_SWAGGER}, - .level = 0, - .ppBonuses = 0, - .hpEV = 6, - .speedEV = 252, - .spAttackEV = 252, - .otId = TRAINER_HILL_OTID, - .hpIV = 31, - .attackIV = 31, - .defenseIV = 31, - .speedIV = 31, - .spAttackIV = 31, - .spDefenseIV = 31, - .abilityNum = 0, - .personality = 0xA, - .nickname = _("JOLTEON"), - .friendship = 255, - }, - [1] = - { - .species = SPECIES_ALAKAZAM, - .heldItem = ITEM_KINGS_ROCK, - .moves = {MOVE_PSYCHIC, MOVE_ICE_PUNCH, MOVE_ATTRACT, MOVE_SWAGGER}, - .level = 0, - .ppBonuses = 0, - .hpEV = 6, - .speedEV = 252, - .spAttackEV = 252, - .otId = TRAINER_HILL_OTID, - .hpIV = 31, - .attackIV = 31, - .defenseIV = 31, - .speedIV = 31, - .spAttackIV = 31, - .spDefenseIV = 31, - .abilityNum = 0, - .personality = 0xA, - .nickname = _("ALAKAZAM"), - .friendship = 255, - }, - [2] = - { - .species = SPECIES_STARMIE, - .heldItem = ITEM_SCOPE_LENS, - .moves = {MOVE_SURF, MOVE_PSYCHIC, MOVE_CONFUSE_RAY, MOVE_SWAGGER}, - .level = 0, - .ppBonuses = 0, - .hpEV = 6, - .speedEV = 252, - .spAttackEV = 252, - .otId = TRAINER_HILL_OTID, - .hpIV = 31, - .attackIV = 31, - .defenseIV = 31, - .speedIV = 31, - .spAttackIV = 31, - .spDefenseIV = 31, - .abilityNum = 1, - .personality = 0xA, - .nickname = _("STARMIE"), - .friendship = 255, - }, - [3] = - { - .species = SPECIES_DUSCLOPS, - .heldItem = ITEM_LEFTOVERS, - .moves = {MOVE_PURSUIT, MOVE_PROTECT, MOVE_ATTRACT, MOVE_WILL_O_WISP}, - .level = 0, - .ppBonuses = 0, - .hpEV = 252, - .defenseEV = 252, - .spDefenseEV = 6, - .otId = TRAINER_HILL_OTID, - .hpIV = 31, - .attackIV = 31, - .defenseIV = 31, - .speedIV = 31, - .spAttackIV = 31, - .spDefenseIV = 31, - .abilityNum = 0, - .personality = 0x82, - .nickname = _("DUSCLOPS"), - .friendship = 255, - }, - [4] = - { - .species = SPECIES_NINETALES, - .heldItem = ITEM_WHITE_HERB, - .moves = {MOVE_OVERHEAT, MOVE_CONFUSE_RAY, MOVE_WILL_O_WISP, MOVE_ATTRACT}, - .level = 0, - .ppBonuses = 0, - .hpEV = 6, - .speedEV = 252, - .spAttackEV = 252, - .otId = TRAINER_HILL_OTID, - .hpIV = 31, - .attackIV = 31, - .defenseIV = 31, - .speedIV = 31, - .spAttackIV = 31, - .spDefenseIV = 31, - .abilityNum = 0, - .personality = 0xD2, - .nickname = _("NINETALES"), - .friendship = 255, - }, - [5] = - { - .species = SPECIES_BANETTE, - .heldItem = ITEM_FOCUS_BAND, - .moves = {MOVE_SHADOW_BALL, MOVE_FAINT_ATTACK, MOVE_ATTRACT, MOVE_WILL_O_WISP}, - .level = 0, - .ppBonuses = 0, - .hpEV = 252, - .defenseEV = 252, - .spDefenseEV = 6, - .otId = TRAINER_HILL_OTID, - .hpIV = 31, - .attackIV = 31, - .defenseIV = 31, - .speedIV = 31, - .spAttackIV = 31, - .spDefenseIV = 31, - .abilityNum = 0, - .personality = 0x85, - .nickname = _("BANETTE"), - .friendship = 255, - }, - }, - }, - }, - .data = {0x31, 0x3B, 0x3B, 0x3B, 0x39, 0x39, 0x13, 0x14, 0x15, 0x38, 0x39, 0x3A, 0x3B, 0x3B, 0x3B, 0x8, 0x91, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x78, 0x8, 0x91, 0x46, 0x9B, 0x7C, 0x9B, 0x9B, 0x9B, 0x7D, 0x9B, 0x7C, 0x9B, 0x7B, 0x9B, 0x7A, 0x9B, 0x8, 0x91, 0x46, 0x7D, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x8, 0x91, 0x46, 0x9B, 0x7E, 0x9B, 0x9B, 0x9B, 0x7D, 0x9B, 0x7E, 0x9B, 0xB3, 0x9B, 0x9B, 0x9B, 0x8, 0x91, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x9B, 0x8, 0x91, 0x46, 0x9B, 0x7D, 0x9B, 0x7C, 0x9B, 0x7B, 0x9B, 0x7A, 0x9B, 0x7C, 0x9B, 0x9B, 0x9B, 0x8, 0x91, 0x46, 0x9B, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x8, 0x91, 0x46, 0x9B, 0x7C, 0x9B, 0x7D, 0x9B, 0x7E, 0x9B, 0x9B, 0x9B, 0x7D, 0x9B, 0x7E, 0x9B, 0x8, 0x91, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0xB3, 0x8, 0x91, 0xD6, 0x96, 0x9B, 0x9B, 0x96, 0xD6, 0xDB, 0xD6, 0x96, 0x9B, 0x9B, 0x96, 0xD6, 0x9B, 0x8, 0xD6, 0x96, 0x9B, 0x9B, 0x96, 0xD6, 0xDB, 0xDB, 0xDB, 0xD6, 0x96, 0x9B, 0x9B, 0x96, 0xD6, 0x8, 0x96, 0x9B, 0x9B, 0x96, 0xD6, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xD6, 0x96, 0x9B, 0x9B, 0x96, 0x8, 0xD6, 0x96, 0x9B, 0x9B, 0x96, 0xD6, 0xDB, 0xDB, 0xDB, 0xD6, 0x96, 0x9B, 0x9B, 0x96, 0xD6, 0x8, 0x91, 0xD6, 0x96, 0x9B, 0x9B, 0x96, 0xD6, 0xDB, 0xD6, 0x96, 0x9B, 0x9B, 0x96, 0xD6, 0x9B, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8}, - .unk3A0 = {0x381, 0x7FFD, 0x4001, 0x5FFF, 0x4001, 0x7FFD, 0x4001, 0x5FFF, 0x4001, 0x7FFD, 0x1, 0x1, 0x1, 0x1, 0x1, 0xFFFF}, - .coords = {167, 231}, - .direction = 0x1, - .range = 0x33, + .display = { + .data = {0x31, 0x3B, 0x3B, 0x3B, 0x39, 0x39, 0x13, 0x14, 0x15, 0x38, 0x39, 0x3A, 0x3B, 0x3B, 0x3B, 0x8, 0x91, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x78, 0x8, 0x91, 0x46, 0x9B, 0x7C, 0x9B, 0x9B, 0x9B, 0x7D, 0x9B, 0x7C, 0x9B, 0x7B, 0x9B, 0x7A, 0x9B, 0x8, 0x91, 0x46, 0x7D, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x8, 0x91, 0x46, 0x9B, 0x7E, 0x9B, 0x9B, 0x9B, 0x7D, 0x9B, 0x7E, 0x9B, 0xB3, 0x9B, 0x9B, 0x9B, 0x8, 0x91, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x9B, 0x8, 0x91, 0x46, 0x9B, 0x7D, 0x9B, 0x7C, 0x9B, 0x7B, 0x9B, 0x7A, 0x9B, 0x7C, 0x9B, 0x9B, 0x9B, 0x8, 0x91, 0x46, 0x9B, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x8, 0x91, 0x46, 0x9B, 0x7C, 0x9B, 0x7D, 0x9B, 0x7E, 0x9B, 0x9B, 0x9B, 0x7D, 0x9B, 0x7E, 0x9B, 0x8, 0x91, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0xB3, 0x8, 0x91, 0xD6, 0x96, 0x9B, 0x9B, 0x96, 0xD6, 0xDB, 0xD6, 0x96, 0x9B, 0x9B, 0x96, 0xD6, 0x9B, 0x8, 0xD6, 0x96, 0x9B, 0x9B, 0x96, 0xD6, 0xDB, 0xDB, 0xDB, 0xD6, 0x96, 0x9B, 0x9B, 0x96, 0xD6, 0x8, 0x96, 0x9B, 0x9B, 0x96, 0xD6, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xD6, 0x96, 0x9B, 0x9B, 0x96, 0x8, 0xD6, 0x96, 0x9B, 0x9B, 0x96, 0xD6, 0xDB, 0xDB, 0xDB, 0xD6, 0x96, 0x9B, 0x9B, 0x96, 0xD6, 0x8, 0x91, 0xD6, 0x96, 0x9B, 0x9B, 0x96, 0xD6, 0xDB, 0xD6, 0x96, 0x9B, 0x9B, 0x96, 0xD6, 0x9B, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8}, + .unk3A0 = {0x381, 0x7FFD, 0x4001, 0x5FFF, 0x4001, 0x7FFD, 0x4001, 0x5FFF, 0x4001, 0x7FFD, 0x1, 0x1, 0x1, 0x1, 0x1, 0xFFFF}, + .coords = {167, 231}, + .direction = 0x1, + .range = 0x33, + } }, - [2] = + [2] = { .unk0 = 0x3D, .unk1 = 0x3E, .trainers = - { - [0] = { - .name = _("TERRENCE"), - .facilityClass = FACILITY_CLASS_EXPERT_M, - .unused = 0, - .speechBefore = {EC_WORD_OH_DEAR, EC_WORD_THIS, EC_WORD_MATCH, EC_WORD_IS, EC_WORD_FOR, EC_WORD_YOU}, - .speechWin = {EC_WORD_OH_DEAR, EC_WORD_DID, EC_WORD_YOU, EC_WORD_SEE, EC_WORD_THAT, EC_WORD_QUES}, - .speechLose = {EC_WORD_OH_DEAR, EC_WORD_I_AM, EC_WORD_SO, EC_WORD_SORRY, 0xFFFF, 0xFFFF}, - .speechAfter = {EC_WORD_IS, EC_WORD_YOUR, EC_WORD_GRANDMOTHER, EC_WORD_STRONG, EC_WORD_QUES, 0xFFFF}, - .mons = - { - [0] = - { - .species = SPECIES_WOBBUFFET, - .heldItem = ITEM_LEFTOVERS, - .moves = {MOVE_MIRROR_COAT, MOVE_COUNTER, MOVE_SAFEGUARD, MOVE_ENCORE}, - .level = 0, - .ppBonuses = 0, - .hpEV = 250, - .defenseEV = 130, - .spDefenseEV = 130, - .otId = TRAINER_HILL_OTID, - .hpIV = 31, - .attackIV = 31, - .defenseIV = 31, - .speedIV = 31, - .spAttackIV = 31, - .spDefenseIV = 31, - .abilityNum = 0, - .personality = 0x94, - .nickname = _("WOBBUFFET"), - .friendship = 255, - }, - [1] = - { - .species = SPECIES_EXPLOUD, - .heldItem = ITEM_CHESTO_BERRY, - .moves = {MOVE_HYPER_VOICE, MOVE_COUNTER, MOVE_REST, MOVE_ROCK_SLIDE}, - .level = 0, - .ppBonuses = 0, - .hpEV = 250, - .defenseEV = 130, - .spDefenseEV = 130, - .otId = TRAINER_HILL_OTID, - .hpIV = 31, - .attackIV = 31, - .defenseIV = 31, - .speedIV = 31, - .spAttackIV = 31, - .spDefenseIV = 31, - .abilityNum = 0, - .personality = 0x85, - .nickname = _("EXPLOUD"), - .friendship = 0, - }, - [2] = - { - .species = SPECIES_CROBAT, - .heldItem = ITEM_KINGS_ROCK, - .moves = {MOVE_MEAN_LOOK, MOVE_CONFUSE_RAY, MOVE_AERIAL_ACE, MOVE_TOXIC}, - .level = 0, - .ppBonuses = 0, - .hpEV = 250, - .defenseEV = 130, - .spDefenseEV = 130, - .otId = TRAINER_HILL_OTID, - .hpIV = 31, - .attackIV = 31, - .defenseIV = 31, - .speedIV = 31, - .spAttackIV = 31, - .spDefenseIV = 31, - .abilityNum = 0, - .personality = 0x0, - .nickname = _("CROBAT"), - .friendship = 255, - }, - [3] = - { - .species = SPECIES_DUGTRIO, - .heldItem = ITEM_BRIGHT_POWDER, - .moves = {MOVE_DOUBLE_TEAM, MOVE_PROTECT, MOVE_RETURN, MOVE_SLUDGE_BOMB}, - .level = 0, - .ppBonuses = 0, - .hpEV = 6, - .attackEV = 252, - .speedEV = 252, - .otId = TRAINER_HILL_OTID, - .hpIV = 31, - .attackIV = 31, - .defenseIV = 31, - .speedIV = 31, - .spAttackIV = 31, - .spDefenseIV = 31, - .abilityNum = 1, - .personality = 0xD, - .nickname = _("DUGTRIO"), - .friendship = 255, - }, - [4] = - { - .species = SPECIES_ELECTRODE, - .heldItem = ITEM_PETAYA_BERRY, - .moves = {MOVE_TORMENT, MOVE_MIRROR_COAT, MOVE_THUNDERBOLT, MOVE_LIGHT_SCREEN}, - .level = 0, - .ppBonuses = 0, - .hpEV = 252, - .defenseEV = 252, - .spAttackEV = 6, - .otId = TRAINER_HILL_OTID, - .hpIV = 31, - .attackIV = 31, - .defenseIV = 31, - .speedIV = 31, - .spAttackIV = 31, - .spDefenseIV = 31, - .abilityNum = 0, - .personality = 0x5, - .nickname = _("ELECTRODE"), - .friendship = 0, - }, - [5] = - { - .species = SPECIES_GENGAR, - .heldItem = ITEM_FOCUS_BAND, - .moves = {MOVE_CONFUSE_RAY, MOVE_MEAN_LOOK, MOVE_GIGA_DRAIN, MOVE_WILL_O_WISP}, - .level = 0, - .ppBonuses = 0, - .hpEV = 252, - .speedEV = 252, - .spDefenseEV = 6, - .otId = TRAINER_HILL_OTID, - .hpIV = 31, - .attackIV = 31, - .defenseIV = 31, - .speedIV = 31, - .spAttackIV = 31, - .spDefenseIV = 31, - .abilityNum = 0, - .personality = 0x14, - .nickname = _("GENGAR"), - .friendship = 255, + [0] = + { + .name = _("TERRENCE"), + .facilityClass = FACILITY_CLASS_EXPERT_M, + .unused = 0, + .speechBefore = {EC_WORD_OH_DEAR, EC_WORD_THIS, EC_WORD_MATCH, EC_WORD_IS, EC_WORD_FOR, EC_WORD_YOU}, + .speechWin = {EC_WORD_OH_DEAR, EC_WORD_DID, EC_WORD_YOU, EC_WORD_SEE, EC_WORD_THAT, EC_WORD_QUES}, + .speechLose = {EC_WORD_OH_DEAR, EC_WORD_I_AM, EC_WORD_SO, EC_WORD_SORRY, 0xFFFF, 0xFFFF}, + .speechAfter = {EC_WORD_IS, EC_WORD_YOUR, EC_WORD_GRANDMOTHER, EC_WORD_STRONG, EC_WORD_QUES, 0xFFFF}, + .mons = + { + [0] = + { + .species = SPECIES_WOBBUFFET, + .heldItem = ITEM_LEFTOVERS, + .moves = {MOVE_MIRROR_COAT, MOVE_COUNTER, MOVE_SAFEGUARD, MOVE_ENCORE}, + .level = 0, + .ppBonuses = 0, + .hpEV = 250, + .defenseEV = 130, + .spDefenseEV = 130, + .otId = TRAINER_HILL_OTID, + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x94, + .nickname = _("WOBBUFFET"), + .friendship = 255, + }, + [1] = + { + .species = SPECIES_EXPLOUD, + .heldItem = ITEM_CHESTO_BERRY, + .moves = {MOVE_HYPER_VOICE, MOVE_COUNTER, MOVE_REST, MOVE_ROCK_SLIDE}, + .level = 0, + .ppBonuses = 0, + .hpEV = 250, + .defenseEV = 130, + .spDefenseEV = 130, + .otId = TRAINER_HILL_OTID, + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x85, + .nickname = _("EXPLOUD"), + .friendship = 0, + }, + [2] = + { + .species = SPECIES_CROBAT, + .heldItem = ITEM_KINGS_ROCK, + .moves = {MOVE_MEAN_LOOK, MOVE_CONFUSE_RAY, MOVE_AERIAL_ACE, MOVE_TOXIC}, + .level = 0, + .ppBonuses = 0, + .hpEV = 250, + .defenseEV = 130, + .spDefenseEV = 130, + .otId = TRAINER_HILL_OTID, + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x0, + .nickname = _("CROBAT"), + .friendship = 255, + }, + [3] = + { + .species = SPECIES_DUGTRIO, + .heldItem = ITEM_BRIGHT_POWDER, + .moves = {MOVE_DOUBLE_TEAM, MOVE_PROTECT, MOVE_RETURN, MOVE_SLUDGE_BOMB}, + .level = 0, + .ppBonuses = 0, + .hpEV = 6, + .attackEV = 252, + .speedEV = 252, + .otId = TRAINER_HILL_OTID, + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 1, + .personality = 0xD, + .nickname = _("DUGTRIO"), + .friendship = 255, + }, + [4] = + { + .species = SPECIES_ELECTRODE, + .heldItem = ITEM_PETAYA_BERRY, + .moves = {MOVE_TORMENT, MOVE_MIRROR_COAT, MOVE_THUNDERBOLT, MOVE_LIGHT_SCREEN}, + .level = 0, + .ppBonuses = 0, + .hpEV = 252, + .defenseEV = 252, + .spAttackEV = 6, + .otId = TRAINER_HILL_OTID, + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x5, + .nickname = _("ELECTRODE"), + .friendship = 0, + }, + [5] = + { + .species = SPECIES_GENGAR, + .heldItem = ITEM_FOCUS_BAND, + .moves = {MOVE_CONFUSE_RAY, MOVE_MEAN_LOOK, MOVE_GIGA_DRAIN, MOVE_WILL_O_WISP}, + .level = 0, + .ppBonuses = 0, + .hpEV = 252, + .speedEV = 252, + .spDefenseEV = 6, + .otId = TRAINER_HILL_OTID, + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x14, + .nickname = _("GENGAR"), + .friendship = 255, + }, + }, + }, + [1] = + { + .name = _("CARLOTTA"), + .facilityClass = FACILITY_CLASS_EXPERT_F, + .unused = 0, + .speechBefore = {EC_WORD_OH_DEAR, EC_WORD_I, EC_WORD_WILL, EC_WORD_WIN, EC_WORD_FOR, EC_WORD_YOU}, + .speechWin = {EC_WORD_OH_DEAR, EC_WORD_WE, EC_WORD_HAVE, EC_WORD_A, EC_WORD_PARTY, EC_WORD_LATER}, + .speechLose = {EC_WORD_OH_DEAR, EC_WORD_I_AM, EC_WORD_SORRY, EC_WORD_TO, EC_WORD_DISAPPOINT, EC_WORD_YOU}, + .speechAfter = {EC_WORD_IS, EC_WORD_YOUR, EC_WORD_GRANDFATHER, EC_WORD_COOL, EC_WORD_QUES, 0xFFFF}, + .mons = + { + [0] = + { + .species = SPECIES_LAPRAS, + .heldItem = ITEM_QUICK_CLAW, + .moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_PERISH_SONG, MOVE_SING}, + .level = 0, + .ppBonuses = 0, + .hpEV = 250, + .defenseEV = 130, + .spDefenseEV = 130, + .otId = TRAINER_HILL_OTID, + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x82, + .nickname = _("LAPRAS"), + .friendship = 0, + }, + [1] = + { + .species = SPECIES_ABSOL, + .heldItem = ITEM_FOCUS_BAND, + .moves = {MOVE_PERISH_SONG, MOVE_DOUBLE_EDGE, MOVE_PROTECT, MOVE_TORMENT}, + .level = 0, + .ppBonuses = 0, + .hpEV = 252, + .defenseEV = 6, + .speedEV = 252, + .otId = TRAINER_HILL_OTID, + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x8A, + .nickname = _("ABSOL"), + .friendship = 0, + }, + [2] = + { + .species = SPECIES_ALTARIA, + .heldItem = ITEM_KINGS_ROCK, + .moves = {MOVE_PERISH_SONG, MOVE_PROTECT, MOVE_DRAGON_CLAW, MOVE_FIRE_BLAST}, + .level = 0, + .ppBonuses = 0, + .hpEV = 252, + .spAttackEV = 6, + .spDefenseEV = 252, + .otId = TRAINER_HILL_OTID, + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x0, + .nickname = _("ALTARIA"), + .friendship = 0, + }, + [3] = + { + .species = SPECIES_DEWGONG, + .heldItem = ITEM_CHESTO_BERRY, + .moves = {MOVE_ICE_BEAM, MOVE_SIGNAL_BEAM, MOVE_REST, MOVE_PERISH_SONG}, + .level = 0, + .ppBonuses = 0, + .hpEV = 252, + .speedEV = 252, + .spAttackEV = 6, + .otId = TRAINER_HILL_OTID, + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x14, + .nickname = _("DEWGONG"), + .friendship = 0, + }, + [4] = + { + .species = SPECIES_POLITOED, + .heldItem = ITEM_BRIGHT_POWDER, + .moves = {MOVE_HYDRO_PUMP, MOVE_BLIZZARD, MOVE_MIND_READER, MOVE_PERISH_SONG}, + .level = 0, + .ppBonuses = 0, + .hpEV = 252, + .spAttackEV = 6, + .spDefenseEV = 252, + .otId = TRAINER_HILL_OTID, + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 1, + .personality = 0x14, + .nickname = _("POLITOED"), + .friendship = 0, + }, + [5] = + { + .species = SPECIES_MAROWAK, + .heldItem = ITEM_QUICK_CLAW, + .moves = {MOVE_PERISH_SONG, MOVE_EARTHQUAKE, MOVE_COUNTER, MOVE_PROTECT}, + .level = 0, + .ppBonuses = 0, + .hpEV = 252, + .speedEV = 6, + .spDefenseEV = 252, + .otId = TRAINER_HILL_OTID, + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 1, + .personality = 0x17, + .nickname = _("MAROWAK"), + .friendship = 0, + }, + }, }, - }, }, - [1] = - { - .name = _("CARLOTTA"), - .facilityClass = FACILITY_CLASS_EXPERT_F, - .unused = 0, - .speechBefore = {EC_WORD_OH_DEAR, EC_WORD_I, EC_WORD_WILL, EC_WORD_WIN, EC_WORD_FOR, EC_WORD_YOU}, - .speechWin = {EC_WORD_OH_DEAR, EC_WORD_WE, EC_WORD_HAVE, EC_WORD_A, EC_WORD_PARTY, EC_WORD_LATER}, - .speechLose = {EC_WORD_OH_DEAR, EC_WORD_I_AM, EC_WORD_SORRY, EC_WORD_TO, EC_WORD_DISAPPOINT, EC_WORD_YOU}, - .speechAfter = {EC_WORD_IS, EC_WORD_YOUR, EC_WORD_GRANDFATHER, EC_WORD_COOL, EC_WORD_QUES, 0xFFFF}, - .mons = - { - [0] = - { - .species = SPECIES_LAPRAS, - .heldItem = ITEM_QUICK_CLAW, - .moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_PERISH_SONG, MOVE_SING}, - .level = 0, - .ppBonuses = 0, - .hpEV = 250, - .defenseEV = 130, - .spDefenseEV = 130, - .otId = TRAINER_HILL_OTID, - .hpIV = 31, - .attackIV = 31, - .defenseIV = 31, - .speedIV = 31, - .spAttackIV = 31, - .spDefenseIV = 31, - .abilityNum = 0, - .personality = 0x82, - .nickname = _("LAPRAS"), - .friendship = 0, - }, - [1] = - { - .species = SPECIES_ABSOL, - .heldItem = ITEM_FOCUS_BAND, - .moves = {MOVE_PERISH_SONG, MOVE_DOUBLE_EDGE, MOVE_PROTECT, MOVE_TORMENT}, - .level = 0, - .ppBonuses = 0, - .hpEV = 252, - .defenseEV = 6, - .speedEV = 252, - .otId = TRAINER_HILL_OTID, - .hpIV = 31, - .attackIV = 31, - .defenseIV = 31, - .speedIV = 31, - .spAttackIV = 31, - .spDefenseIV = 31, - .abilityNum = 0, - .personality = 0x8A, - .nickname = _("ABSOL"), - .friendship = 0, - }, - [2] = - { - .species = SPECIES_ALTARIA, - .heldItem = ITEM_KINGS_ROCK, - .moves = {MOVE_PERISH_SONG, MOVE_PROTECT, MOVE_DRAGON_CLAW, MOVE_FIRE_BLAST}, - .level = 0, - .ppBonuses = 0, - .hpEV = 252, - .spAttackEV = 6, - .spDefenseEV = 252, - .otId = TRAINER_HILL_OTID, - .hpIV = 31, - .attackIV = 31, - .defenseIV = 31, - .speedIV = 31, - .spAttackIV = 31, - .spDefenseIV = 31, - .abilityNum = 0, - .personality = 0x0, - .nickname = _("ALTARIA"), - .friendship = 0, - }, - [3] = - { - .species = SPECIES_DEWGONG, - .heldItem = ITEM_CHESTO_BERRY, - .moves = {MOVE_ICE_BEAM, MOVE_SIGNAL_BEAM, MOVE_REST, MOVE_PERISH_SONG}, - .level = 0, - .ppBonuses = 0, - .hpEV = 252, - .speedEV = 252, - .spAttackEV = 6, - .otId = TRAINER_HILL_OTID, - .hpIV = 31, - .attackIV = 31, - .defenseIV = 31, - .speedIV = 31, - .spAttackIV = 31, - .spDefenseIV = 31, - .abilityNum = 0, - .personality = 0x14, - .nickname = _("DEWGONG"), - .friendship = 0, - }, - [4] = - { - .species = SPECIES_POLITOED, - .heldItem = ITEM_BRIGHT_POWDER, - .moves = {MOVE_HYDRO_PUMP, MOVE_BLIZZARD, MOVE_MIND_READER, MOVE_PERISH_SONG}, - .level = 0, - .ppBonuses = 0, - .hpEV = 252, - .spAttackEV = 6, - .spDefenseEV = 252, - .otId = TRAINER_HILL_OTID, - .hpIV = 31, - .attackIV = 31, - .defenseIV = 31, - .speedIV = 31, - .spAttackIV = 31, - .spDefenseIV = 31, - .abilityNum = 1, - .personality = 0x14, - .nickname = _("POLITOED"), - .friendship = 0, - }, - [5] = - { - .species = SPECIES_MAROWAK, - .heldItem = ITEM_QUICK_CLAW, - .moves = {MOVE_PERISH_SONG, MOVE_EARTHQUAKE, MOVE_COUNTER, MOVE_PROTECT}, - .level = 0, - .ppBonuses = 0, - .hpEV = 252, - .speedEV = 6, - .spDefenseEV = 252, - .otId = TRAINER_HILL_OTID, - .hpIV = 31, - .attackIV = 31, - .defenseIV = 31, - .speedIV = 31, - .spAttackIV = 31, - .spDefenseIV = 31, - .abilityNum = 1, - .personality = 0x17, - .nickname = _("MAROWAK"), - .friendship = 0, - }, - }, - }, - }, - .data = {0xD1, 0xDB, 0xDB, 0xDB, 0xD9, 0xD9, 0x1B, 0x14, 0x15, 0x98, 0x99, 0x9A, 0x9B, 0x9B, 0x9B, 0x8, 0xD1, 0xDB, 0xDB, 0xDB, 0xD5, 0xD5, 0xC3, 0xF9, 0x86, 0x8E, 0x95, 0x9B, 0x9B, 0x9B, 0x9B, 0x8, 0xD1, 0xDB, 0xDB, 0xD5, 0xCB, 0xCB, 0xCB, 0xFB, 0x8B, 0x8B, 0x8B, 0x95, 0x9B, 0x9B, 0x9B, 0x8, 0xD1, 0xDB, 0xD5, 0xCB, 0xCB, 0xCB, 0xCB, 0xFB, 0x8B, 0x8B, 0x8B, 0x8B, 0x95, 0x9B, 0x9B, 0x8, 0xD1, 0xDB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xFB, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x9B, 0x9B, 0x8, 0xD1, 0xD5, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xFB, 0x8C, 0x8B, 0x8B, 0x8B, 0x8B, 0x95, 0x9B, 0x8, 0xD1, 0xCB, 0xCB, 0xCB, 0xCB, 0xCC, 0xCC, 0xFB, 0xFB, 0x8C, 0x8B, 0x8B, 0x8B, 0x8B, 0x9B, 0x8, 0xD1, 0xCC, 0xCC, 0xCC, 0xCC, 0xFB, 0xF5, 0xFB, 0xF5, 0xFB, 0x8B, 0x8B, 0x8B, 0x8B, 0x9B, 0x8, 0xD1, 0xD5, 0xD5, 0xD5, 0xD5, 0xFB, 0xEC, 0xFB, 0xEC, 0xFB, 0x8B, 0x8B, 0x8B, 0x8B, 0x9B, 0x8, 0xD1, 0xCB, 0xCB, 0xCB, 0xCB, 0xF5, 0xF5, 0xFB, 0xFB, 0xF5, 0x8B, 0x8B, 0x8B, 0x8B, 0x9B, 0x8, 0xD1, 0xCC, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xFB, 0xFB, 0x8B, 0x8B, 0x8B, 0x8B, 0x8C, 0x9B, 0x8, 0xD1, 0xDB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xFB, 0xF5, 0x8B, 0x8B, 0x8B, 0x8B, 0x9B, 0x9B, 0x8, 0xD1, 0xDB, 0xCC, 0xCB, 0xCB, 0xCB, 0xCB, 0xFB, 0x8B, 0x8B, 0x8B, 0x8B, 0x8C, 0x9B, 0x9B, 0x8, 0xD1, 0xDB, 0xDB, 0xCC, 0xCB, 0xCB, 0xCB, 0xFB, 0x8B, 0x8B, 0x8B, 0x8C, 0x9B, 0x9B, 0x9B, 0x8, 0xD1, 0xDB, 0xDB, 0xDB, 0xCC, 0xCC, 0xCB, 0xFB, 0x8C, 0x8C, 0x8C, 0x9B, 0x9B, 0x9B, 0x9B, 0x8, 0xD1, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xCC, 0xFB, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x8}, - .unk3A0 = {0x381, 0x201, 0xEE1, 0x1EF1, 0x3EF9, 0x3EF9, 0x7E7D, 0x783D, 0x2BD, 0x783D, 0x7E7D, 0x3E79, 0x3EF9, 0x1EF1, 0xEE1, 0x201}, - .coords = {103, 167}, - .direction = 0x1, - .range = 0x33, + .display = { + .data = {0xD1, 0xDB, 0xDB, 0xDB, 0xD9, 0xD9, 0x1B, 0x14, 0x15, 0x98, 0x99, 0x9A, 0x9B, 0x9B, 0x9B, 0x8, 0xD1, 0xDB, 0xDB, 0xDB, 0xD5, 0xD5, 0xC3, 0xF9, 0x86, 0x8E, 0x95, 0x9B, 0x9B, 0x9B, 0x9B, 0x8, 0xD1, 0xDB, 0xDB, 0xD5, 0xCB, 0xCB, 0xCB, 0xFB, 0x8B, 0x8B, 0x8B, 0x95, 0x9B, 0x9B, 0x9B, 0x8, 0xD1, 0xDB, 0xD5, 0xCB, 0xCB, 0xCB, 0xCB, 0xFB, 0x8B, 0x8B, 0x8B, 0x8B, 0x95, 0x9B, 0x9B, 0x8, 0xD1, 0xDB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xFB, 0x8B, 0x8B, 0x8B, 0x8B, 0x8B, 0x9B, 0x9B, 0x8, 0xD1, 0xD5, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xFB, 0x8C, 0x8B, 0x8B, 0x8B, 0x8B, 0x95, 0x9B, 0x8, 0xD1, 0xCB, 0xCB, 0xCB, 0xCB, 0xCC, 0xCC, 0xFB, 0xFB, 0x8C, 0x8B, 0x8B, 0x8B, 0x8B, 0x9B, 0x8, 0xD1, 0xCC, 0xCC, 0xCC, 0xCC, 0xFB, 0xF5, 0xFB, 0xF5, 0xFB, 0x8B, 0x8B, 0x8B, 0x8B, 0x9B, 0x8, 0xD1, 0xD5, 0xD5, 0xD5, 0xD5, 0xFB, 0xEC, 0xFB, 0xEC, 0xFB, 0x8B, 0x8B, 0x8B, 0x8B, 0x9B, 0x8, 0xD1, 0xCB, 0xCB, 0xCB, 0xCB, 0xF5, 0xF5, 0xFB, 0xFB, 0xF5, 0x8B, 0x8B, 0x8B, 0x8B, 0x9B, 0x8, 0xD1, 0xCC, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xFB, 0xFB, 0x8B, 0x8B, 0x8B, 0x8B, 0x8C, 0x9B, 0x8, 0xD1, 0xDB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xFB, 0xF5, 0x8B, 0x8B, 0x8B, 0x8B, 0x9B, 0x9B, 0x8, 0xD1, 0xDB, 0xCC, 0xCB, 0xCB, 0xCB, 0xCB, 0xFB, 0x8B, 0x8B, 0x8B, 0x8B, 0x8C, 0x9B, 0x9B, 0x8, 0xD1, 0xDB, 0xDB, 0xCC, 0xCB, 0xCB, 0xCB, 0xFB, 0x8B, 0x8B, 0x8B, 0x8C, 0x9B, 0x9B, 0x9B, 0x8, 0xD1, 0xDB, 0xDB, 0xDB, 0xCC, 0xCC, 0xCB, 0xFB, 0x8C, 0x8C, 0x8C, 0x9B, 0x9B, 0x9B, 0x9B, 0x8, 0xD1, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xCC, 0xFB, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x9B, 0x8}, + .unk3A0 = {0x381, 0x201, 0xEE1, 0x1EF1, 0x3EF9, 0x3EF9, 0x7E7D, 0x783D, 0x2BD, 0x783D, 0x7E7D, 0x3E79, 0x3EF9, 0x1EF1, 0xEE1, 0x201}, + .coords = {103, 167}, + .direction = 0x1, + .range = 0x33, + } }, - [3] = + [3] = { .unk0 = 0x3F, .unk1 = 0x40, .trainers = - { - [0] = { - .name = _("NORA"), - .facilityClass = FACILITY_CLASS_PKMN_RANGER_F, - .unused = 0, - .speechBefore = {EC_WORD_WAAAH, EC_WORD_THIS, EC_WORD_IS, EC_WORD_SO, EC_WORD_EXCITING, EC_WORD_EXCL}, - .speechWin = {EC_WORD_WAAAH, EC_WORD_I_AM, EC_WORD_SO, EC_WORD_HAPPY, EC_WORD_I, EC_WORD_WON}, - .speechLose = {EC_WORD_WAAAH, EC_WORD_I_AM, EC_WORD_SO, EC_WORD_SAD, EC_WORD_I, EC_WORD_LOST}, - .speechAfter = {EC_WORD_WAAAH, EC_WORD_EXCL, 0xFFFF, EC_WORD_GO, EC_WORD_AWAY, EC_WORD_EXCL}, - .mons = - { - [0] = - { - .species = SPECIES_FORRETRESS, - .heldItem = ITEM_QUICK_CLAW, - .moves = {MOVE_EXPLOSION, MOVE_EARTHQUAKE, MOVE_ATTRACT, MOVE_SPIKES}, - .level = 0, - .ppBonuses = 0, - .hpEV = 110, - .attackEV = 200, - .spDefenseEV = 200, - .otId = TRAINER_HILL_OTID, - .hpIV = 31, - .attackIV = 31, - .defenseIV = 31, - .speedIV = 31, - .spAttackIV = 31, - .spDefenseIV = 31, - .abilityNum = 0, - .personality = 0x3, - .nickname = _("FORRETRESS"), - .friendship = 255, - }, - [1] = - { - .species = SPECIES_ELECTRODE, - .heldItem = ITEM_SALAC_BERRY, - .moves = {MOVE_EXPLOSION, MOVE_THUNDERBOLT, MOVE_SWIFT, MOVE_LIGHT_SCREEN}, - .level = 0, - .ppBonuses = 0, - .attackEV = 255, - .spAttackEV = 255, - .otId = TRAINER_HILL_OTID, - .hpIV = 31, - .attackIV = 31, - .defenseIV = 31, - .speedIV = 31, - .spAttackIV = 31, - .spDefenseIV = 31, - .abilityNum = 1, - .personality = 0xC, - .nickname = _("ELECTRODE"), - .friendship = 255, + [0] = + { + .name = _("NORA"), + .facilityClass = FACILITY_CLASS_PKMN_RANGER_F, + .unused = 0, + .speechBefore = {EC_WORD_WAAAH, EC_WORD_THIS, EC_WORD_IS, EC_WORD_SO, EC_WORD_EXCITING, EC_WORD_EXCL}, + .speechWin = {EC_WORD_WAAAH, EC_WORD_I_AM, EC_WORD_SO, EC_WORD_HAPPY, EC_WORD_I, EC_WORD_WON}, + .speechLose = {EC_WORD_WAAAH, EC_WORD_I_AM, EC_WORD_SO, EC_WORD_SAD, EC_WORD_I, EC_WORD_LOST}, + .speechAfter = {EC_WORD_WAAAH, EC_WORD_EXCL, 0xFFFF, EC_WORD_GO, EC_WORD_AWAY, EC_WORD_EXCL}, + .mons = + { + [0] = + { + .species = SPECIES_FORRETRESS, + .heldItem = ITEM_QUICK_CLAW, + .moves = {MOVE_EXPLOSION, MOVE_EARTHQUAKE, MOVE_ATTRACT, MOVE_SPIKES}, + .level = 0, + .ppBonuses = 0, + .hpEV = 110, + .attackEV = 200, + .spDefenseEV = 200, + .otId = TRAINER_HILL_OTID, + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x3, + .nickname = _("FORRETRESS"), + .friendship = 255, + }, + [1] = + { + .species = SPECIES_ELECTRODE, + .heldItem = ITEM_SALAC_BERRY, + .moves = {MOVE_EXPLOSION, MOVE_THUNDERBOLT, MOVE_SWIFT, MOVE_LIGHT_SCREEN}, + .level = 0, + .ppBonuses = 0, + .attackEV = 255, + .spAttackEV = 255, + .otId = TRAINER_HILL_OTID, + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 1, + .personality = 0xC, + .nickname = _("ELECTRODE"), + .friendship = 255, + }, + [2] = + { + .species = SPECIES_EXEGGUTOR, + .heldItem = ITEM_SHELL_BELL, + .moves = {MOVE_EXPLOSION, MOVE_HYPNOSIS, MOVE_PSYCHIC, MOVE_SOLAR_BEAM}, + .level = 0, + .ppBonuses = 0, + .attackEV = 255, + .spAttackEV = 255, + .otId = TRAINER_HILL_OTID, + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x7F, + .nickname = _("EXEGGUTOR"), + .friendship = 255, + }, + [3] = + { + .species = SPECIES_DUSCLOPS, + .heldItem = ITEM_LEFTOVERS, + .moves = {MOVE_IMPRISON, MOVE_PROTECT, MOVE_ICE_BEAM, MOVE_EARTHQUAKE}, + .level = 0, + .ppBonuses = 0, + .hpEV = 110, + .defenseEV = 200, + .spDefenseEV = 200, + .otId = TRAINER_HILL_OTID, + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x93, + .nickname = _("DUSCLOPS"), + .friendship = 255, + }, + [4] = + { + .species = SPECIES_NINETALES, + .heldItem = ITEM_WHITE_HERB, + .moves = {MOVE_IMPRISON, MOVE_PROTECT, MOVE_OVERHEAT, MOVE_CONFUSE_RAY}, + .level = 0, + .ppBonuses = 0, + .speedEV = 255, + .spAttackEV = 255, + .otId = TRAINER_HILL_OTID, + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0xF, + .nickname = _("NINETALES"), + .friendship = 255, + }, + [5] = + { + .species = SPECIES_BANETTE, + .heldItem = ITEM_BRIGHT_POWDER, + .moves = {MOVE_IMPRISON, MOVE_PROTECT, MOVE_THUNDERBOLT, MOVE_THUNDER}, + .level = 0, + .ppBonuses = 0, + .hpEV = 255, + .spAttackEV = 255, + .otId = TRAINER_HILL_OTID, + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x96, + .nickname = _("BANETTE"), + .friendship = 255, + }, + }, + }, + [1] = + { + .name = _("GAV"), + .facilityClass = FACILITY_CLASS_PKMN_RANGER_M, + .unused = 0, + .speechBefore = {EC_WORD_WAHAHAHA, EC_WORD_YOU, EC_WORD_CAN_T, EC_WORD_STOP, EC_WORD_ME, EC_WORD_EXCL}, + .speechWin = {EC_WORD_WOWEE, EC_WORD_EXCL, 0xFFFF, EC_WORD_I_AM, EC_WORD_AWESOME, EC_WORD_COOL}, + .speechLose = {EC_WORD_I_AM, EC_WORD_NOT, EC_WORD_COOL, EC_WORD_AT, EC_WORD_ALL, EC_WORD_EXCL}, + .speechAfter = {EC_WORD_HEHEHE, EC_WORD_THAT_WAS, EC_WORD_AN, EC_WORD_AWESOME, EC_WORD_BATTLE, EC_WORD_EXCL}, + .mons = + { + [0] = + { + .species = SPECIES_SALAMENCE, + .heldItem = ITEM_SHELL_BELL, + .moves = {MOVE_ROCK_SLIDE, MOVE_FLAMETHROWER, MOVE_DRAGON_CLAW, MOVE_AERIAL_ACE}, + .level = 0, + .ppBonuses = 0, + .attackEV = 255, + .spAttackEV = 255, + .otId = TRAINER_HILL_OTID, + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x95, + .nickname = _("SALAMENCE"), + .friendship = 255, + }, + [1] = + { + .species = SPECIES_GENGAR, + .heldItem = ITEM_LUM_BERRY, + .moves = {MOVE_PSYCHIC, MOVE_GIGA_DRAIN, MOVE_WILL_O_WISP, MOVE_DESTINY_BOND}, + .level = 0, + .ppBonuses = 0, + .speedEV = 255, + .spAttackEV = 255, + .otId = TRAINER_HILL_OTID, + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x8C, + .nickname = _("GENGAR"), + .friendship = 255, + }, + [2] = + { + .species = SPECIES_GYARADOS, + .heldItem = ITEM_BRIGHT_POWDER, + .moves = {MOVE_DRAGON_DANCE, MOVE_HYPER_BEAM, MOVE_BITE, MOVE_EARTHQUAKE}, + .level = 0, + .ppBonuses = 0, + .attackEV = 255, + .speedEV = 255, + .otId = TRAINER_HILL_OTID, + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x3, + .nickname = _("GYARADOS"), + .friendship = 255, + }, + [3] = + { + .species = SPECIES_GENGAR, + .heldItem = ITEM_SALAC_BERRY, + .moves = {MOVE_EXPLOSION, MOVE_MEAN_LOOK, MOVE_SHADOW_BALL, MOVE_CONFUSE_RAY}, + .level = 0, + .ppBonuses = 0, + .attackEV = 255, + .speedEV = 255, + .otId = TRAINER_HILL_OTID, + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x3, + .nickname = _("GENGAR"), + .friendship = 255, + }, + [4] = + { + .species = SPECIES_DUSCLOPS, + .heldItem = ITEM_LEFTOVERS, + .moves = {MOVE_MEAN_LOOK, MOVE_CONFUSE_RAY, MOVE_WILL_O_WISP, MOVE_SHADOW_BALL}, + .level = 0, + .ppBonuses = 0, + .hpEV = 110, + .defenseEV = 200, + .spDefenseEV = 200, + .otId = TRAINER_HILL_OTID, + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x14, + .nickname = _("DUSCLOPS"), + .friendship = 255, + }, + [5] = + { + .species = SPECIES_MISDREAVUS, + .heldItem = ITEM_FOCUS_BAND, + .moves = {MOVE_MEAN_LOOK, MOVE_CONFUSE_RAY, MOVE_PERISH_SONG, MOVE_SHADOW_BALL}, + .level = 0, + .ppBonuses = 0, + .hpEV = 180, + .defenseEV = 180, + .spDefenseEV = 150, + .otId = TRAINER_HILL_OTID, + .hpIV = 31, + .attackIV = 31, + .defenseIV = 31, + .speedIV = 31, + .spAttackIV = 31, + .spDefenseIV = 31, + .abilityNum = 0, + .personality = 0x85, + .nickname = _("MISDREAVUS"), + .friendship = 255, + }, + }, }, - [2] = - { - .species = SPECIES_EXEGGUTOR, - .heldItem = ITEM_SHELL_BELL, - .moves = {MOVE_EXPLOSION, MOVE_HYPNOSIS, MOVE_PSYCHIC, MOVE_SOLAR_BEAM}, - .level = 0, - .ppBonuses = 0, - .attackEV = 255, - .spAttackEV = 255, - .otId = TRAINER_HILL_OTID, - .hpIV = 31, - .attackIV = 31, - .defenseIV = 31, - .speedIV = 31, - .spAttackIV = 31, - .spDefenseIV = 31, - .abilityNum = 0, - .personality = 0x7F, - .nickname = _("EXEGGUTOR"), - .friendship = 255, - }, - [3] = - { - .species = SPECIES_DUSCLOPS, - .heldItem = ITEM_LEFTOVERS, - .moves = {MOVE_IMPRISON, MOVE_PROTECT, MOVE_ICE_BEAM, MOVE_EARTHQUAKE}, - .level = 0, - .ppBonuses = 0, - .hpEV = 110, - .defenseEV = 200, - .spDefenseEV = 200, - .otId = TRAINER_HILL_OTID, - .hpIV = 31, - .attackIV = 31, - .defenseIV = 31, - .speedIV = 31, - .spAttackIV = 31, - .spDefenseIV = 31, - .abilityNum = 0, - .personality = 0x93, - .nickname = _("DUSCLOPS"), - .friendship = 255, - }, - [4] = - { - .species = SPECIES_NINETALES, - .heldItem = ITEM_WHITE_HERB, - .moves = {MOVE_IMPRISON, MOVE_PROTECT, MOVE_OVERHEAT, MOVE_CONFUSE_RAY}, - .level = 0, - .ppBonuses = 0, - .speedEV = 255, - .spAttackEV = 255, - .otId = TRAINER_HILL_OTID, - .hpIV = 31, - .attackIV = 31, - .defenseIV = 31, - .speedIV = 31, - .spAttackIV = 31, - .spDefenseIV = 31, - .abilityNum = 0, - .personality = 0xF, - .nickname = _("NINETALES"), - .friendship = 255, - }, - [5] = - { - .species = SPECIES_BANETTE, - .heldItem = ITEM_BRIGHT_POWDER, - .moves = {MOVE_IMPRISON, MOVE_PROTECT, MOVE_THUNDERBOLT, MOVE_THUNDER}, - .level = 0, - .ppBonuses = 0, - .hpEV = 255, - .spAttackEV = 255, - .otId = TRAINER_HILL_OTID, - .hpIV = 31, - .attackIV = 31, - .defenseIV = 31, - .speedIV = 31, - .spAttackIV = 31, - .spDefenseIV = 31, - .abilityNum = 0, - .personality = 0x96, - .nickname = _("BANETTE"), - .friendship = 255, - }, - }, }, - [1] = - { - .name = _("GAV"), - .facilityClass = FACILITY_CLASS_PKMN_RANGER_M, - .unused = 0, - .speechBefore = {EC_WORD_WAHAHAHA, EC_WORD_YOU, EC_WORD_CAN_T, EC_WORD_STOP, EC_WORD_ME, EC_WORD_EXCL}, - .speechWin = {EC_WORD_WOWEE, EC_WORD_EXCL, 0xFFFF, EC_WORD_I_AM, EC_WORD_AWESOME, EC_WORD_COOL}, - .speechLose = {EC_WORD_I_AM, EC_WORD_NOT, EC_WORD_COOL, EC_WORD_AT, EC_WORD_ALL, EC_WORD_EXCL}, - .speechAfter = {EC_WORD_HEHEHE, EC_WORD_THAT_WAS, EC_WORD_AN, EC_WORD_AWESOME, EC_WORD_BATTLE, EC_WORD_EXCL}, - .mons = - { - [0] = - { - .species = SPECIES_SALAMENCE, - .heldItem = ITEM_SHELL_BELL, - .moves = {MOVE_ROCK_SLIDE, MOVE_FLAMETHROWER, MOVE_DRAGON_CLAW, MOVE_AERIAL_ACE}, - .level = 0, - .ppBonuses = 0, - .attackEV = 255, - .spAttackEV = 255, - .otId = TRAINER_HILL_OTID, - .hpIV = 31, - .attackIV = 31, - .defenseIV = 31, - .speedIV = 31, - .spAttackIV = 31, - .spDefenseIV = 31, - .abilityNum = 0, - .personality = 0x95, - .nickname = _("SALAMENCE"), - .friendship = 255, - }, - [1] = - { - .species = SPECIES_GENGAR, - .heldItem = ITEM_LUM_BERRY, - .moves = {MOVE_PSYCHIC, MOVE_GIGA_DRAIN, MOVE_WILL_O_WISP, MOVE_DESTINY_BOND}, - .level = 0, - .ppBonuses = 0, - .speedEV = 255, - .spAttackEV = 255, - .otId = TRAINER_HILL_OTID, - .hpIV = 31, - .attackIV = 31, - .defenseIV = 31, - .speedIV = 31, - .spAttackIV = 31, - .spDefenseIV = 31, - .abilityNum = 0, - .personality = 0x8C, - .nickname = _("GENGAR"), - .friendship = 255, - }, - [2] = - { - .species = SPECIES_GYARADOS, - .heldItem = ITEM_BRIGHT_POWDER, - .moves = {MOVE_DRAGON_DANCE, MOVE_HYPER_BEAM, MOVE_BITE, MOVE_EARTHQUAKE}, - .level = 0, - .ppBonuses = 0, - .attackEV = 255, - .speedEV = 255, - .otId = TRAINER_HILL_OTID, - .hpIV = 31, - .attackIV = 31, - .defenseIV = 31, - .speedIV = 31, - .spAttackIV = 31, - .spDefenseIV = 31, - .abilityNum = 0, - .personality = 0x3, - .nickname = _("GYARADOS"), - .friendship = 255, - }, - [3] = - { - .species = SPECIES_GENGAR, - .heldItem = ITEM_SALAC_BERRY, - .moves = {MOVE_EXPLOSION, MOVE_MEAN_LOOK, MOVE_SHADOW_BALL, MOVE_CONFUSE_RAY}, - .level = 0, - .ppBonuses = 0, - .attackEV = 255, - .speedEV = 255, - .otId = TRAINER_HILL_OTID, - .hpIV = 31, - .attackIV = 31, - .defenseIV = 31, - .speedIV = 31, - .spAttackIV = 31, - .spDefenseIV = 31, - .abilityNum = 0, - .personality = 0x3, - .nickname = _("GENGAR"), - .friendship = 255, - }, - [4] = - { - .species = SPECIES_DUSCLOPS, - .heldItem = ITEM_LEFTOVERS, - .moves = {MOVE_MEAN_LOOK, MOVE_CONFUSE_RAY, MOVE_WILL_O_WISP, MOVE_SHADOW_BALL}, - .level = 0, - .ppBonuses = 0, - .hpEV = 110, - .defenseEV = 200, - .spDefenseEV = 200, - .otId = TRAINER_HILL_OTID, - .hpIV = 31, - .attackIV = 31, - .defenseIV = 31, - .speedIV = 31, - .spAttackIV = 31, - .spDefenseIV = 31, - .abilityNum = 0, - .personality = 0x14, - .nickname = _("DUSCLOPS"), - .friendship = 255, - }, - [5] = - { - .species = SPECIES_MISDREAVUS, - .heldItem = ITEM_FOCUS_BAND, - .moves = {MOVE_MEAN_LOOK, MOVE_CONFUSE_RAY, MOVE_PERISH_SONG, MOVE_SHADOW_BALL}, - .level = 0, - .ppBonuses = 0, - .hpEV = 180, - .defenseEV = 180, - .spDefenseEV = 150, - .otId = TRAINER_HILL_OTID, - .hpIV = 31, - .attackIV = 31, - .defenseIV = 31, - .speedIV = 31, - .spAttackIV = 31, - .spDefenseIV = 31, - .abilityNum = 0, - .personality = 0x85, - .nickname = _("MISDREAVUS"), - .friendship = 255, - }, - }, - }, - }, - .data = {0x31, 0x3B, 0x3B, 0x3B, 0x39, 0x39, 0x13, 0x14, 0x15, 0x39, 0x39, 0x3A, 0x3B, 0x3B, 0x3B, 0x8, 0x96, 0xFB, 0xF6, 0xFD, 0xF6, 0xF6, 0xFB, 0x46, 0xFB, 0xF6, 0xF6, 0xFD, 0xF6, 0xFB, 0x9B, 0x8, 0xFB, 0x9B, 0xFB, 0xF6, 0xFB, 0xFB, 0xFB, 0x46, 0xFB, 0xFB, 0xFB, 0xF6, 0xFB, 0x9B, 0xFB, 0x8, 0xF6, 0xFB, 0x9B, 0xFB, 0xFB, 0x46, 0x46, 0x9B, 0x46, 0x46, 0xFB, 0xFB, 0x9B, 0xFB, 0xF6, 0x8, 0xFD, 0xF6, 0xFB, 0x9B, 0x46, 0x36, 0x36, 0x9B, 0x36, 0x36, 0x46, 0x9B, 0xFB, 0xF6, 0xFD, 0x8, 0xF6, 0xFB, 0xFB, 0x46, 0x9B, 0x46, 0x46, 0xDB, 0x46, 0x46, 0x9B, 0x46, 0xFB, 0xFB, 0xF6, 0x8, 0xF6, 0xFB, 0x46, 0x36, 0x46, 0x9B, 0xDB, 0xD6, 0xDB, 0x9B, 0x46, 0x36, 0x46, 0xFB, 0xF6, 0x8, 0xFB, 0xFB, 0x46, 0x36, 0x9B, 0xDB, 0xD6, 0xD6, 0xD6, 0xDB, 0x9B, 0x36, 0x46, 0xFB, 0xFB, 0x8, 0x96, 0x9B, 0x9B, 0x9B, 0x9B, 0xD6, 0xD6, 0x96, 0xD6, 0xD6, 0xDB, 0x9B, 0x9B, 0x9B, 0x96, 0x8, 0xFB, 0xFB, 0x46, 0x36, 0x9B, 0xDB, 0xD6, 0xD6, 0xD6, 0xDB, 0x9B, 0x36, 0x46, 0xFB, 0xFB, 0x8, 0xF6, 0xFB, 0x46, 0x36, 0x46, 0x9B, 0xDB, 0xD6, 0xDB, 0x9B, 0x46, 0x36, 0x46, 0xFB, 0xF6, 0x8, 0xF6, 0xFB, 0xFB, 0x46, 0x9B, 0x46, 0x46, 0xDB, 0x46, 0x46, 0x9B, 0x46, 0xFB, 0xFB, 0xF6, 0x8, 0xFD, 0xF6, 0xFB, 0x9B, 0x46, 0x36, 0x36, 0x9B, 0x36, 0x36, 0x46, 0x9B, 0xFB, 0xF6, 0xFD, 0x8, 0xF6, 0xFB, 0x9B, 0xFB, 0xFB, 0x46, 0x46, 0x9B, 0x46, 0x46, 0xFB, 0xFB, 0x9B, 0xFB, 0xF6, 0x8, 0xFB, 0x9B, 0xFB, 0xF6, 0xFB, 0xFB, 0xFB, 0x46, 0xFB, 0xFB, 0xFB, 0xF6, 0xFB, 0x9B, 0xFB, 0x8, 0x96, 0xFB, 0xF6, 0xFD, 0xF6, 0xF6, 0xFB, 0x46, 0xFB, 0xF6, 0xF6, 0xFD, 0xF6, 0xFB, 0x9B, 0x8}, - .unk3A0 = {0x381, 0x101, 0x101, 0x6C1, 0x821, 0x16D1, 0x2829, 0x2009, 0x1, 0x2009, 0x2829, 0x16D1, 0x821, 0x6C1, 0x101, 0x101}, - .coords = {103, 167}, - .direction = 0x1, - .range = 0x33, + .display = { + .data = {0x31, 0x3B, 0x3B, 0x3B, 0x39, 0x39, 0x13, 0x14, 0x15, 0x39, 0x39, 0x3A, 0x3B, 0x3B, 0x3B, 0x8, 0x96, 0xFB, 0xF6, 0xFD, 0xF6, 0xF6, 0xFB, 0x46, 0xFB, 0xF6, 0xF6, 0xFD, 0xF6, 0xFB, 0x9B, 0x8, 0xFB, 0x9B, 0xFB, 0xF6, 0xFB, 0xFB, 0xFB, 0x46, 0xFB, 0xFB, 0xFB, 0xF6, 0xFB, 0x9B, 0xFB, 0x8, 0xF6, 0xFB, 0x9B, 0xFB, 0xFB, 0x46, 0x46, 0x9B, 0x46, 0x46, 0xFB, 0xFB, 0x9B, 0xFB, 0xF6, 0x8, 0xFD, 0xF6, 0xFB, 0x9B, 0x46, 0x36, 0x36, 0x9B, 0x36, 0x36, 0x46, 0x9B, 0xFB, 0xF6, 0xFD, 0x8, 0xF6, 0xFB, 0xFB, 0x46, 0x9B, 0x46, 0x46, 0xDB, 0x46, 0x46, 0x9B, 0x46, 0xFB, 0xFB, 0xF6, 0x8, 0xF6, 0xFB, 0x46, 0x36, 0x46, 0x9B, 0xDB, 0xD6, 0xDB, 0x9B, 0x46, 0x36, 0x46, 0xFB, 0xF6, 0x8, 0xFB, 0xFB, 0x46, 0x36, 0x9B, 0xDB, 0xD6, 0xD6, 0xD6, 0xDB, 0x9B, 0x36, 0x46, 0xFB, 0xFB, 0x8, 0x96, 0x9B, 0x9B, 0x9B, 0x9B, 0xD6, 0xD6, 0x96, 0xD6, 0xD6, 0xDB, 0x9B, 0x9B, 0x9B, 0x96, 0x8, 0xFB, 0xFB, 0x46, 0x36, 0x9B, 0xDB, 0xD6, 0xD6, 0xD6, 0xDB, 0x9B, 0x36, 0x46, 0xFB, 0xFB, 0x8, 0xF6, 0xFB, 0x46, 0x36, 0x46, 0x9B, 0xDB, 0xD6, 0xDB, 0x9B, 0x46, 0x36, 0x46, 0xFB, 0xF6, 0x8, 0xF6, 0xFB, 0xFB, 0x46, 0x9B, 0x46, 0x46, 0xDB, 0x46, 0x46, 0x9B, 0x46, 0xFB, 0xFB, 0xF6, 0x8, 0xFD, 0xF6, 0xFB, 0x9B, 0x46, 0x36, 0x36, 0x9B, 0x36, 0x36, 0x46, 0x9B, 0xFB, 0xF6, 0xFD, 0x8, 0xF6, 0xFB, 0x9B, 0xFB, 0xFB, 0x46, 0x46, 0x9B, 0x46, 0x46, 0xFB, 0xFB, 0x9B, 0xFB, 0xF6, 0x8, 0xFB, 0x9B, 0xFB, 0xF6, 0xFB, 0xFB, 0xFB, 0x46, 0xFB, 0xFB, 0xFB, 0xF6, 0xFB, 0x9B, 0xFB, 0x8, 0x96, 0xFB, 0xF6, 0xFD, 0xF6, 0xF6, 0xFB, 0x46, 0xFB, 0xF6, 0xF6, 0xFD, 0xF6, 0xFB, 0x9B, 0x8}, + .unk3A0 = {0x381, 0x101, 0x101, 0x6C1, 0x821, 0x16D1, 0x2829, 0x2009, 0x1, 0x2009, 0x2829, 0x16D1, 0x821, 0x6C1, 0x101, 0x101}, + .coords = {103, 167}, + .direction = 0x1, + .range = 0x33, + } }, - }, }; diff --git a/src/data/decoration/icon.h b/src/data/decoration/icon.h index 58d9cea7b..b29dab20f 100644 --- a/src/data/decoration/icon.h +++ b/src/data/decoration/icon.h @@ -1,123 +1,124 @@ -const u32 *const gUnknown_085A6BE8[][2] = { - {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, - {NULL, NULL}, - {NULL, NULL}, - {gUnknown_08DB7AA0, gUnknown_08DB7B34}, - {gUnknown_08DB7B5C, gUnknown_08DB7BEC}, - {gUnknown_08DB7C08, gUnknown_08DB7CE8}, - {gUnknown_08DB7D08, gUnknown_08DB7DCC}, - {gUnknown_08DB7DF4, gUnknown_08DB7EA0}, - {gUnknown_08DB7EC4, gUnknown_08DB7F60}, - {gUnknown_08DB7F7C, gUnknown_08DB8070}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {gUnknown_08DB808C, gUnknown_08DB8138}, - {gUnknown_08DB8160, gUnknown_08DB8218}, - {gUnknown_08DB823C, gUnknown_08DB8300}, - {gUnknown_08DB8328, gUnknown_08DB8430}, - {gUnknown_08DB8458, gUnknown_08DB8528}, - {gUnknown_08DB854C, gUnknown_08DB862C}, - {gUnknown_08DB8654, gUnknown_08DB86C4}, - {gUnknown_08DB86E0, gUnknown_08DB8750}, - {gUnknown_08DB876C, gUnknown_08DB87DC}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {gUnknown_08DB87F8, gUnknown_08DB88D8}, - {gUnknown_08DB8900, gUnknown_08DB89E0}, - {gUnknown_08DB8A08, gUnknown_08DB8A68}, - {gUnknown_08DB8A84, gUnknown_08DB8B40}, - {NULL, NULL}, - {NULL, NULL}, - {gUnknown_08DB8B68, gUnknown_08DB8C40}, - {gUnknown_08DB8C5C, gUnknown_08DB8CF4}, - {NULL, NULL}, - {gUnknown_08DB8D18, gUnknown_08DB8DB0}, - {gUnknown_08DB8DD4, gUnknown_08DB8E80}, - {NULL, NULL}, - {NULL, NULL}, - {gUnknown_08DB8EA0, gUnknown_08DB8F58}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {gUnknown_08DB8F7C, gUnknown_08DB9038}, - {gUnknown_08DB9058, gUnknown_08DB9130}, - {gUnknown_08DB9154, gUnknown_08DB9218}, - {gUnknown_08DB9234, gUnknown_08DB92FC}, - {gUnknown_08DB931C, gUnknown_08DB93E8}, - {gUnknown_08DB940C, gUnknown_08DB94CC}, - {gUnknown_08DB94E8, gUnknown_08DB95AC}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {NULL, NULL}, - {gUnknown_08DB95D0, gUnknown_08DB96C4}, - {gUnknown_08DB96EC, gUnknown_08DB97F4}, - {gUnknown_08DB981C, gUnknown_08DB9908}, - {gUnknown_08DB9930, gUnknown_08DB9A54}, - {gUnknown_08DB9A7C, gUnknown_08DB9B7C}, - {gUnknown_08DB9BA4, gUnknown_08DB9CB0}, - {gUnknown_08DB9CD8, gUnknown_08DB9DAC}, - {gUnknown_08DB9F08, gUnknown_08DB9FFC}, - {gUnknown_08DB9DD4, gUnknown_08DB9EE4}, - {gUnknown_08DBA020, gUnknown_08DBA12C} +const u32 *const gDecorIconTable[][2] = +{ + [DECOR_NONE] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, + [DECOR_SMALL_DESK] = {NULL, NULL}, + [DECOR_POKEMON_DESK] = {NULL, NULL}, + [DECOR_HEAVY_DESK] = {gDecorIcon_HeavyDesk, gDecorIconPalette_HeavyDesk}, + [DECOR_RAGGED_DESK] = {gDecorIcon_RaggedDesk, gDecorIconPalette_RaggedDesk}, + [DECOR_COMFORT_DESK] = {gDecorIcon_ComfortDesk, gDecorIconPalette_ComfortDesk}, + [DECOR_PRETTY_DESK] = {gDecorIcon_PrettyDesk, gDecorIconPalette_PrettyDesk}, + [DECOR_BRICK_DESK] = {gDecorIcon_BrickDesk, gDecorIconPalette_BrickDesk}, + [DECOR_CAMP_DESK] = {gDecorIcon_CampDesk, gDecorIconPalette_CampDesk}, + [DECOR_HARD_DESK] = {gDecorIcon_HardDesk, gDecorIconPalette_HardDesk}, + [DECOR_SMALL_CHAIR] = {NULL, NULL}, + [DECOR_POKEMON_CHAIR] = {NULL, NULL}, + [DECOR_HEAVY_CHAIR] = {NULL, NULL}, + [DECOR_PRETTY_CHAIR] = {NULL, NULL}, + [DECOR_COMFORT_CHAIR] = {NULL, NULL}, + [DECOR_RAGGED_CHAIR] = {NULL, NULL}, + [DECOR_BRICK_CHAIR] = {NULL, NULL}, + [DECOR_CAMP_CHAIR] = {NULL, NULL}, + [DECOR_HARD_CHAIR] = {NULL, NULL}, + [DECOR_RED_PLANT] = {gDecorIcon_RedPlant, gDecorIconPalette_RedPlant}, + [DECOR_TROPICAL_PLANT] = {gDecorIcon_TropicalPlant, gDecorIconPalette_TropicalPlant}, + [DECOR_PRETTY_FLOWERS] = {gDecorIcon_PrettyFlowers, gDecorIconPalette_PrettyFlowers}, + [DECOR_COLORFUL_PLANT] = {gDecorIcon_ColorfulPlant, gDecorIconPalette_ColorfulPlant}, + [DECOR_BIG_PLANT] = {gDecorIcon_BigPlant, gDecorIconPalette_BigPlant}, + [DECOR_GORGEOUS_PLANT] = {gDecorIcon_GorgeousPlant, gDecorIconPalette_GorgeousPlant}, + [DECOR_RED_BRICK] = {gDecorIcon_RedBrick, gDecorIconPalette_RedBrick}, + [DECOR_YELLOW_BRICK] = {gDecorIcon_YellowBrick, gDecorIconPalette_YellowBrick}, + [DECOR_BLUE_BRICK] = {gDecorIcon_BlueBrick, gDecorIconPalette_BlueBrick}, + [DECOR_RED_BALLOON] = {NULL, NULL}, + [DECOR_BLUE_BALLOON] = {NULL, NULL}, + [DECOR_YELLOW_BALLOON] = {NULL, NULL}, + [DECOR_RED_TENT] = {gDecorIcon_RedTent, gDecorIconPalette_RedTent}, + [DECOR_BLUE_TENT] = {gDecorIcon_BlueTent, gDecorIconPalette_BlueTent}, + [DECOR_SOLID_BOARD] = {gDecorIcon_SolidBoard, gDecorIconPalette_SolidBoard}, + [DECOR_SLIDE] = {gDecorIcon_Slide, gDecorIconPalette_Slide}, + [DECOR_FENCE_LENGTH] = {NULL, NULL}, + [DECOR_FENCE_WIDTH] = {NULL, NULL}, + [DECOR_TIRE] = {gDecorIcon_Tire, gDecorIconPalette_Tire}, + [DECOR_STAND] = {gDecorIcon_Stand, gDecorIconPalette_Stand}, + [DECOR_MUD_BALL] = {NULL, NULL}, + [DECOR_BREAKABLE_DOOR] = {gDecorIcon_BreakableDoor, gDecorIconPalette_BreakableDoor}, + [DECOR_SAND_ORNAMENT] = {gDecorIcon_SandOrnament, gDecorIconPalette_SandOrnament}, + [DECOR_SILVER_SHIELD] = {NULL, NULL}, + [DECOR_GOLD_SHIELD] = {NULL, NULL}, + [DECOR_GLASS_ORNAMENT] = {gDecorIcon_GlassOrnament, gDecorIconPalette_GlassOrnament}, + [DECOR_TV] = {NULL, NULL}, + [DECOR_ROUND_TV] = {NULL, NULL}, + [DECOR_CUTE_TV] = {NULL, NULL}, + [DECOR_GLITTER_MAT] = {NULL, NULL}, + [DECOR_JUMP_MAT] = {NULL, NULL}, + [DECOR_SPIN_MAT] = {NULL, NULL}, + [DECOR_C_LOW_NOTE_MAT] = {NULL, NULL}, + [DECOR_D_NOTE_MAT] = {NULL, NULL}, + [DECOR_E_NOTE_MAT] = {NULL, NULL}, + [DECOR_F_NOTE_MAT] = {NULL, NULL}, + [DECOR_G_NOTE_MAT] = {NULL, NULL}, + [DECOR_A_NOTE_MAT] = {NULL, NULL}, + [DECOR_B_NOTE_MAT] = {NULL, NULL}, + [DECOR_C_HIGH_NOTE_MAT] = {NULL, NULL}, + [DECOR_SURF_MAT] = {gDecorIcon_SurfMat, gDecorIconPalette_SurfMat}, + [DECOR_THUNDER_MAT] = {gDecorIcon_ThunderMat, gDecorIconPalette_ThunderMat}, + [DECOR_FIRE_BLAST_MAT] = {gDecorIcon_FireBlastMat, gDecorIconPalette_FireBlastMat}, + [DECOR_POWDER_SNOW_MAT] = {gDecorIcon_PowderSnowMat, gDecorIconPalette_PowderSnowMat}, + [DECOR_ATTRACT_MAT] = {gDecorIcon_AttractMat, gDecorIconPalette_AttractMat}, + [DECOR_FISSURE_MAT] = {gDecorIcon_FissureMat, gDecorIconPalette_FissureMat}, + [DECOR_SPIKES_MAT] = {gDecorIcon_SpikesMat, gDecorIconPalette_SpikesMat}, + [DECOR_BALL_POSTER] = {NULL, NULL}, + [DECOR_GREEN_POSTER] = {NULL, NULL}, + [DECOR_RED_POSTER] = {NULL, NULL}, + [DECOR_BLUE_POSTER] = {NULL, NULL}, + [DECOR_CUTE_POSTER] = {NULL, NULL}, + [DECOR_PIKA_POSTER] = {NULL, NULL}, + [DECOR_LONG_POSTER] = {NULL, NULL}, + [DECOR_SEA_POSTER] = {NULL, NULL}, + [DECOR_SKY_POSTER] = {NULL, NULL}, + [DECOR_KISS_POSTER] = {NULL, NULL}, + [DECOR_PICHU_DOLL] = {NULL, NULL}, + [DECOR_PIKACHU_DOLL] = {NULL, NULL}, + [DECOR_MARILL_DOLL] = {NULL, NULL}, + [DECOR_TOGEPI_DOLL] = {NULL, NULL}, + [DECOR_CYNDAQUIL_DOLL] = {NULL, NULL}, + [DECOR_CHIKORITA_DOLL] = {NULL, NULL}, + [DECOR_TOTODILE_DOLL] = {NULL, NULL}, + [DECOR_JIGGLYPUFF_DOLL] = {NULL, NULL}, + [DECOR_MEOWTH_DOLL] = {NULL, NULL}, + [DECOR_CLEFAIRY_DOLL] = {NULL, NULL}, + [DECOR_DITTO_DOLL] = {NULL, NULL}, + [DECOR_SMOOCHUM_DOLL] = {NULL, NULL}, + [DECOR_TREECKO_DOLL] = {NULL, NULL}, + [DECOR_TORCHIC_DOLL] = {NULL, NULL}, + [DECOR_MUDKIP_DOLL] = {NULL, NULL}, + [DECOR_DUSKULL_DOLL] = {NULL, NULL}, + [DECOR_WYNAUT_DOLL] = {NULL, NULL}, + [DECOR_BALTOY_DOLL] = {NULL, NULL}, + [DECOR_KECLEON_DOLL] = {NULL, NULL}, + [DECOR_AZURILL_DOLL] = {NULL, NULL}, + [DECOR_SKITTY_DOLL] = {NULL, NULL}, + [DECOR_SWABLU_DOLL] = {NULL, NULL}, + [DECOR_GULPIN_DOLL] = {NULL, NULL}, + [DECOR_LOTAD_DOLL] = {NULL, NULL}, + [DECOR_SEEDOT_DOLL] = {NULL, NULL}, + [DECOR_PIKA_CUSHION] = {NULL, NULL}, + [DECOR_ROUND_CUSHION] = {NULL, NULL}, + [DECOR_KISS_CUSHION] = {NULL, NULL}, + [DECOR_ZIGZAG_CUSHION] = {NULL, NULL}, + [DECOR_SPIN_CUSHION] = {NULL, NULL}, + [DECOR_DIAMOND_CUSHION] = {NULL, NULL}, + [DECOR_BALL_CUSHION] = {NULL, NULL}, + [DECOR_GRASS_CUSHION] = {NULL, NULL}, + [DECOR_FIRE_CUSHION] = {NULL, NULL}, + [DECOR_WATER_CUSHION] = {NULL, NULL}, + [DECOR_SNORLAX_DOLL] = {gDecorIcon_SnorlaxDoll, gDecorIconPalette_SnorlaxDoll}, + [DECOR_RHYDON_DOLL] = {gDecorIcon_RhydonDoll, gDecorIconPalette_RhydonDoll}, + [DECOR_LAPRAS_DOLL] = {gDecorIcon_LaprasDoll, gDecorIconPalette_LaprasDoll}, + [DECOR_VENUSAUR_DOLL] = {gDecorIcon_VenusaurDoll, gDecorIconPalette_VenusaurDoll}, + [DECOR_CHARIZARD_DOLL] = {gDecorIcon_CharizardDoll, gDecorIconPalette_CharizardDoll}, + [DECOR_BLASTOISE_DOLL] = {gDecorIcon_BlastoiseDoll, gDecorIconPalette_BlastoiseDoll}, + [DECOR_WAILMER_DOLL] = {gDecorIcon_WailmerDoll, gDecorIconPalette_WailmerDoll}, + [DECOR_REGIROCK_DOLL] = {gDecorIcon_RegirockDoll, gDecorIconPalette_RegirockDoll}, + [DECOR_REGICE_DOLL] = {gDecorIcon_RegiceDoll, gDecorIconPalette_RegiceDoll}, + [DECOR_REGISTEEL_DOLL] = {gDecorIcon_RegisteelDoll, gDecorIconPalette_RegisteelDoll} }; diff --git a/src/data/graphics/decorations.h b/src/data/graphics/decorations.h index 62d86d48e..d8b865fcf 100644 --- a/src/data/graphics/decorations.h +++ b/src/data/graphics/decorations.h @@ -1,125 +1,125 @@ -const u32 gUnknown_08DB7AA0[] = INCBIN_U32("graphics/decorations/decor_heavy_desk.4bpp.lz"); -const u32 gUnknown_08DB7B34[] = INCBIN_U32("graphics/decorations/decor_heavy_desk.gbapal.lz"); +const u32 gDecorIcon_HeavyDesk[] = INCBIN_U32("graphics/decorations/decor_heavy_desk.4bpp.lz"); +const u32 gDecorIconPalette_HeavyDesk[] = INCBIN_U32("graphics/decorations/decor_heavy_desk.gbapal.lz"); -const u32 gUnknown_08DB7B5C[] = INCBIN_U32("graphics/decorations/decor_ragged_desk.4bpp.lz"); -const u32 gUnknown_08DB7BEC[] = INCBIN_U32("graphics/decorations/decor_ragged_desk.gbapal.lz"); +const u32 gDecorIcon_RaggedDesk[] = INCBIN_U32("graphics/decorations/decor_ragged_desk.4bpp.lz"); +const u32 gDecorIconPalette_RaggedDesk[] = INCBIN_U32("graphics/decorations/decor_ragged_desk.gbapal.lz"); -const u32 gUnknown_08DB7C08[] = INCBIN_U32("graphics/decorations/decor_comfort_desk.4bpp.lz"); -const u32 gUnknown_08DB7CE8[] = INCBIN_U32("graphics/decorations/decor_comfort_desk.gbapal.lz"); +const u32 gDecorIcon_ComfortDesk[] = INCBIN_U32("graphics/decorations/decor_comfort_desk.4bpp.lz"); +const u32 gDecorIconPalette_ComfortDesk[] = INCBIN_U32("graphics/decorations/decor_comfort_desk.gbapal.lz"); -const u32 gUnknown_08DB7D08[] = INCBIN_U32("graphics/decorations/decor_pretty_desk.4bpp.lz"); -const u32 gUnknown_08DB7DCC[] = INCBIN_U32("graphics/decorations/decor_pretty_desk.gbapal.lz"); +const u32 gDecorIcon_PrettyDesk[] = INCBIN_U32("graphics/decorations/decor_pretty_desk.4bpp.lz"); +const u32 gDecorIconPalette_PrettyDesk[] = INCBIN_U32("graphics/decorations/decor_pretty_desk.gbapal.lz"); -const u32 gUnknown_08DB7DF4[] = INCBIN_U32("graphics/decorations/decor_brick_desk.4bpp.lz"); -const u32 gUnknown_08DB7EA0[] = INCBIN_U32("graphics/decorations/decor_brick_desk.gbapal.lz"); +const u32 gDecorIcon_BrickDesk[] = INCBIN_U32("graphics/decorations/decor_brick_desk.4bpp.lz"); +const u32 gDecorIconPalette_BrickDesk[] = INCBIN_U32("graphics/decorations/decor_brick_desk.gbapal.lz"); -const u32 gUnknown_08DB7EC4[] = INCBIN_U32("graphics/decorations/decor_camp_desk.4bpp.lz"); -const u32 gUnknown_08DB7F60[] = INCBIN_U32("graphics/decorations/decor_camp_desk.gbapal.lz"); +const u32 gDecorIcon_CampDesk[] = INCBIN_U32("graphics/decorations/decor_camp_desk.4bpp.lz"); +const u32 gDecorIconPalette_CampDesk[] = INCBIN_U32("graphics/decorations/decor_camp_desk.gbapal.lz"); -const u32 gUnknown_08DB7F7C[] = INCBIN_U32("graphics/decorations/decor_hard_desk.4bpp.lz"); -const u32 gUnknown_08DB8070[] = INCBIN_U32("graphics/decorations/decor_hard_desk.gbapal.lz"); +const u32 gDecorIcon_HardDesk[] = INCBIN_U32("graphics/decorations/decor_hard_desk.4bpp.lz"); +const u32 gDecorIconPalette_HardDesk[] = INCBIN_U32("graphics/decorations/decor_hard_desk.gbapal.lz"); -const u32 gUnknown_08DB808C[] = INCBIN_U32("graphics/decorations/decor_red_plant.4bpp.lz"); -const u32 gUnknown_08DB8138[] = INCBIN_U32("graphics/decorations/decor_red_plant.gbapal.lz"); +const u32 gDecorIcon_RedPlant[] = INCBIN_U32("graphics/decorations/decor_red_plant.4bpp.lz"); +const u32 gDecorIconPalette_RedPlant[] = INCBIN_U32("graphics/decorations/decor_red_plant.gbapal.lz"); -const u32 gUnknown_08DB8160[] = INCBIN_U32("graphics/decorations/decor_tropical_plant.4bpp.lz"); -const u32 gUnknown_08DB8218[] = INCBIN_U32("graphics/decorations/decor_tropical_plant.gbapal.lz"); +const u32 gDecorIcon_TropicalPlant[] = INCBIN_U32("graphics/decorations/decor_tropical_plant.4bpp.lz"); +const u32 gDecorIconPalette_TropicalPlant[] = INCBIN_U32("graphics/decorations/decor_tropical_plant.gbapal.lz"); -const u32 gUnknown_08DB823C[] = INCBIN_U32("graphics/decorations/decor_pretty_flowers.4bpp.lz"); -const u32 gUnknown_08DB8300[] = INCBIN_U32("graphics/decorations/decor_pretty_flowers.gbapal.lz"); +const u32 gDecorIcon_PrettyFlowers[] = INCBIN_U32("graphics/decorations/decor_pretty_flowers.4bpp.lz"); +const u32 gDecorIconPalette_PrettyFlowers[] = INCBIN_U32("graphics/decorations/decor_pretty_flowers.gbapal.lz"); -const u32 gUnknown_08DB8328[] = INCBIN_U32("graphics/decorations/decor_colorful_plant.4bpp.lz"); -const u32 gUnknown_08DB8430[] = INCBIN_U32("graphics/decorations/decor_colorful_plant.gbapal.lz"); +const u32 gDecorIcon_ColorfulPlant[] = INCBIN_U32("graphics/decorations/decor_colorful_plant.4bpp.lz"); +const u32 gDecorIconPalette_ColorfulPlant[] = INCBIN_U32("graphics/decorations/decor_colorful_plant.gbapal.lz"); -const u32 gUnknown_08DB8458[] = INCBIN_U32("graphics/decorations/decor_big_plant.4bpp.lz"); -const u32 gUnknown_08DB8528[] = INCBIN_U32("graphics/decorations/decor_big_plant.gbapal.lz"); +const u32 gDecorIcon_BigPlant[] = INCBIN_U32("graphics/decorations/decor_big_plant.4bpp.lz"); +const u32 gDecorIconPalette_BigPlant[] = INCBIN_U32("graphics/decorations/decor_big_plant.gbapal.lz"); -const u32 gUnknown_08DB854C[] = INCBIN_U32("graphics/decorations/decor_gorgeous_plant.4bpp.lz"); -const u32 gUnknown_08DB862C[] = INCBIN_U32("graphics/decorations/decor_gorgeous_plant.gbapal.lz"); +const u32 gDecorIcon_GorgeousPlant[] = INCBIN_U32("graphics/decorations/decor_gorgeous_plant.4bpp.lz"); +const u32 gDecorIconPalette_GorgeousPlant[] = INCBIN_U32("graphics/decorations/decor_gorgeous_plant.gbapal.lz"); -const u32 gUnknown_08DB8654[] = INCBIN_U32("graphics/decorations/decor_red_brick.4bpp.lz"); -const u32 gUnknown_08DB86C4[] = INCBIN_U32("graphics/decorations/decor_red_brick.gbapal.lz"); +const u32 gDecorIcon_RedBrick[] = INCBIN_U32("graphics/decorations/decor_red_brick.4bpp.lz"); +const u32 gDecorIconPalette_RedBrick[] = INCBIN_U32("graphics/decorations/decor_red_brick.gbapal.lz"); -const u32 gUnknown_08DB86E0[] = INCBIN_U32("graphics/decorations/decor_yellow_brick.4bpp.lz"); -const u32 gUnknown_08DB8750[] = INCBIN_U32("graphics/decorations/decor_yellow_brick.gbapal.lz"); +const u32 gDecorIcon_YellowBrick[] = INCBIN_U32("graphics/decorations/decor_yellow_brick.4bpp.lz"); +const u32 gDecorIconPalette_YellowBrick[] = INCBIN_U32("graphics/decorations/decor_yellow_brick.gbapal.lz"); -const u32 gUnknown_08DB876C[] = INCBIN_U32("graphics/decorations/decor_blue_brick.4bpp.lz"); -const u32 gUnknown_08DB87DC[] = INCBIN_U32("graphics/decorations/decor_blue_brick.gbapal.lz"); +const u32 gDecorIcon_BlueBrick[] = INCBIN_U32("graphics/decorations/decor_blue_brick.4bpp.lz"); +const u32 gDecorIconPalette_BlueBrick[] = INCBIN_U32("graphics/decorations/decor_blue_brick.gbapal.lz"); -const u32 gUnknown_08DB87F8[] = INCBIN_U32("graphics/decorations/decor_red_tent.4bpp.lz"); -const u32 gUnknown_08DB88D8[] = INCBIN_U32("graphics/decorations/decor_red_tent.gbapal.lz"); +const u32 gDecorIcon_RedTent[] = INCBIN_U32("graphics/decorations/decor_red_tent.4bpp.lz"); +const u32 gDecorIconPalette_RedTent[] = INCBIN_U32("graphics/decorations/decor_red_tent.gbapal.lz"); -const u32 gUnknown_08DB8900[] = INCBIN_U32("graphics/decorations/decor_blue_tent.4bpp.lz"); -const u32 gUnknown_08DB89E0[] = INCBIN_U32("graphics/decorations/decor_blue_tent.gbapal.lz"); +const u32 gDecorIcon_BlueTent[] = INCBIN_U32("graphics/decorations/decor_blue_tent.4bpp.lz"); +const u32 gDecorIconPalette_BlueTent[] = INCBIN_U32("graphics/decorations/decor_blue_tent.gbapal.lz"); -const u32 gUnknown_08DB8A08[] = INCBIN_U32("graphics/decorations/decor_solid_board.4bpp.lz"); -const u32 gUnknown_08DB8A68[] = INCBIN_U32("graphics/decorations/decor_solid_board.gbapal.lz"); +const u32 gDecorIcon_SolidBoard[] = INCBIN_U32("graphics/decorations/decor_solid_board.4bpp.lz"); +const u32 gDecorIconPalette_SolidBoard[] = INCBIN_U32("graphics/decorations/decor_solid_board.gbapal.lz"); -const u32 gUnknown_08DB8A84[] = INCBIN_U32("graphics/decorations/decor_slide.4bpp.lz"); -const u32 gUnknown_08DB8B40[] = INCBIN_U32("graphics/decorations/decor_slide.gbapal.lz"); +const u32 gDecorIcon_Slide[] = INCBIN_U32("graphics/decorations/decor_slide.4bpp.lz"); +const u32 gDecorIconPalette_Slide[] = INCBIN_U32("graphics/decorations/decor_slide.gbapal.lz"); -const u32 gUnknown_08DB8B68[] = INCBIN_U32("graphics/decorations/decor_tire.4bpp.lz"); -const u32 gUnknown_08DB8C40[] = INCBIN_U32("graphics/decorations/decor_tire.gbapal.lz"); +const u32 gDecorIcon_Tire[] = INCBIN_U32("graphics/decorations/decor_tire.4bpp.lz"); +const u32 gDecorIconPalette_Tire[] = INCBIN_U32("graphics/decorations/decor_tire.gbapal.lz"); -const u32 gUnknown_08DB8C5C[] = INCBIN_U32("graphics/decorations/decor_stand.4bpp.lz"); -const u32 gUnknown_08DB8CF4[] = INCBIN_U32("graphics/decorations/decor_stand.gbapal.lz"); +const u32 gDecorIcon_Stand[] = INCBIN_U32("graphics/decorations/decor_stand.4bpp.lz"); +const u32 gDecorIconPalette_Stand[] = INCBIN_U32("graphics/decorations/decor_stand.gbapal.lz"); -const u32 gUnknown_08DB8D18[] = INCBIN_U32("graphics/decorations/decor_breakable_door.4bpp.lz"); -const u32 gUnknown_08DB8DB0[] = INCBIN_U32("graphics/decorations/decor_breakable_door.gbapal.lz"); +const u32 gDecorIcon_BreakableDoor[] = INCBIN_U32("graphics/decorations/decor_breakable_door.4bpp.lz"); +const u32 gDecorIconPalette_BreakableDoor[] = INCBIN_U32("graphics/decorations/decor_breakable_door.gbapal.lz"); -const u32 gUnknown_08DB8DD4[] = INCBIN_U32("graphics/decorations/decor_sand_ornament.4bpp.lz"); -const u32 gUnknown_08DB8E80[] = INCBIN_U32("graphics/decorations/decor_sand_ornament.gbapal.lz"); +const u32 gDecorIcon_SandOrnament[] = INCBIN_U32("graphics/decorations/decor_sand_ornament.4bpp.lz"); +const u32 gDecorIconPalette_SandOrnament[] = INCBIN_U32("graphics/decorations/decor_sand_ornament.gbapal.lz"); -const u32 gUnknown_08DB8EA0[] = INCBIN_U32("graphics/decorations/decor_glass_ornament.4bpp.lz"); -const u32 gUnknown_08DB8F58[] = INCBIN_U32("graphics/decorations/decor_glass_ornament.gbapal.lz"); +const u32 gDecorIcon_GlassOrnament[] = INCBIN_U32("graphics/decorations/decor_glass_ornament.4bpp.lz"); +const u32 gDecorIconPalette_GlassOrnament[] = INCBIN_U32("graphics/decorations/decor_glass_ornament.gbapal.lz"); -const u32 gUnknown_08DB8F7C[] = INCBIN_U32("graphics/decorations/decor_surf_mat.4bpp.lz"); -const u32 gUnknown_08DB9038[] = INCBIN_U32("graphics/decorations/decor_surf_mat.gbapal.lz"); +const u32 gDecorIcon_SurfMat[] = INCBIN_U32("graphics/decorations/decor_surf_mat.4bpp.lz"); +const u32 gDecorIconPalette_SurfMat[] = INCBIN_U32("graphics/decorations/decor_surf_mat.gbapal.lz"); -const u32 gUnknown_08DB9058[] = INCBIN_U32("graphics/decorations/decor_thunder_mat.4bpp.lz"); -const u32 gUnknown_08DB9130[] = INCBIN_U32("graphics/decorations/decor_thunder_mat.gbapal.lz"); +const u32 gDecorIcon_ThunderMat[] = INCBIN_U32("graphics/decorations/decor_thunder_mat.4bpp.lz"); +const u32 gDecorIconPalette_ThunderMat[] = INCBIN_U32("graphics/decorations/decor_thunder_mat.gbapal.lz"); -const u32 gUnknown_08DB9154[] = INCBIN_U32("graphics/decorations/decor_fire_blast_mat.4bpp.lz"); -const u32 gUnknown_08DB9218[] = INCBIN_U32("graphics/decorations/decor_fire_blast_mat.gbapal.lz"); +const u32 gDecorIcon_FireBlastMat[] = INCBIN_U32("graphics/decorations/decor_fire_blast_mat.4bpp.lz"); +const u32 gDecorIconPalette_FireBlastMat[] = INCBIN_U32("graphics/decorations/decor_fire_blast_mat.gbapal.lz"); -const u32 gUnknown_08DB9234[] = INCBIN_U32("graphics/decorations/decor_powder_snow_mat.4bpp.lz"); -const u32 gUnknown_08DB92FC[] = INCBIN_U32("graphics/decorations/decor_powder_snow_mat.gbapal.lz"); +const u32 gDecorIcon_PowderSnowMat[] = INCBIN_U32("graphics/decorations/decor_powder_snow_mat.4bpp.lz"); +const u32 gDecorIconPalette_PowderSnowMat[] = INCBIN_U32("graphics/decorations/decor_powder_snow_mat.gbapal.lz"); -const u32 gUnknown_08DB931C[] = INCBIN_U32("graphics/decorations/decor_attract_mat.4bpp.lz"); -const u32 gUnknown_08DB93E8[] = INCBIN_U32("graphics/decorations/decor_attract_mat.gbapal.lz"); +const u32 gDecorIcon_AttractMat[] = INCBIN_U32("graphics/decorations/decor_attract_mat.4bpp.lz"); +const u32 gDecorIconPalette_AttractMat[] = INCBIN_U32("graphics/decorations/decor_attract_mat.gbapal.lz"); -const u32 gUnknown_08DB940C[] = INCBIN_U32("graphics/decorations/decor_fissure_mat.4bpp.lz"); -const u32 gUnknown_08DB94CC[] = INCBIN_U32("graphics/decorations/decor_fissure_mat.gbapal.lz"); +const u32 gDecorIcon_FissureMat[] = INCBIN_U32("graphics/decorations/decor_fissure_mat.4bpp.lz"); +const u32 gDecorIconPalette_FissureMat[] = INCBIN_U32("graphics/decorations/decor_fissure_mat.gbapal.lz"); -const u32 gUnknown_08DB94E8[] = INCBIN_U32("graphics/decorations/decor_spikes_mat.4bpp.lz"); -const u32 gUnknown_08DB95AC[] = INCBIN_U32("graphics/decorations/decor_spikes_mat.gbapal.lz"); +const u32 gDecorIcon_SpikesMat[] = INCBIN_U32("graphics/decorations/decor_spikes_mat.4bpp.lz"); +const u32 gDecorIconPalette_SpikesMat[] = INCBIN_U32("graphics/decorations/decor_spikes_mat.gbapal.lz"); -const u32 gUnknown_08DB95D0[] = INCBIN_U32("graphics/decorations/decor_snorlax_doll.4bpp.lz"); -const u32 gUnknown_08DB96C4[] = INCBIN_U32("graphics/decorations/decor_snorlax_doll.gbapal.lz"); +const u32 gDecorIcon_SnorlaxDoll[] = INCBIN_U32("graphics/decorations/decor_snorlax_doll.4bpp.lz"); +const u32 gDecorIconPalette_SnorlaxDoll[] = INCBIN_U32("graphics/decorations/decor_snorlax_doll.gbapal.lz"); -const u32 gUnknown_08DB96EC[] = INCBIN_U32("graphics/decorations/decor_rhydon_doll.4bpp.lz"); -const u32 gUnknown_08DB97F4[] = INCBIN_U32("graphics/decorations/decor_rhydon_doll.gbapal.lz"); +const u32 gDecorIcon_RhydonDoll[] = INCBIN_U32("graphics/decorations/decor_rhydon_doll.4bpp.lz"); +const u32 gDecorIconPalette_RhydonDoll[] = INCBIN_U32("graphics/decorations/decor_rhydon_doll.gbapal.lz"); -const u32 gUnknown_08DB981C[] = INCBIN_U32("graphics/decorations/decor_lapras_doll.4bpp.lz"); -const u32 gUnknown_08DB9908[] = INCBIN_U32("graphics/decorations/decor_lapras_doll.gbapal.lz"); +const u32 gDecorIcon_LaprasDoll[] = INCBIN_U32("graphics/decorations/decor_lapras_doll.4bpp.lz"); +const u32 gDecorIconPalette_LaprasDoll[] = INCBIN_U32("graphics/decorations/decor_lapras_doll.gbapal.lz"); -const u32 gUnknown_08DB9930[] = INCBIN_U32("graphics/decorations/decor_venusaur_doll.4bpp.lz"); -const u32 gUnknown_08DB9A54[] = INCBIN_U32("graphics/decorations/decor_venusaur_doll.gbapal.lz"); +const u32 gDecorIcon_VenusaurDoll[] = INCBIN_U32("graphics/decorations/decor_venusaur_doll.4bpp.lz"); +const u32 gDecorIconPalette_VenusaurDoll[] = INCBIN_U32("graphics/decorations/decor_venusaur_doll.gbapal.lz"); -const u32 gUnknown_08DB9A7C[] = INCBIN_U32("graphics/decorations/decor_charizard_doll.4bpp.lz"); -const u32 gUnknown_08DB9B7C[] = INCBIN_U32("graphics/decorations/decor_charizard_doll.gbapal.lz"); +const u32 gDecorIcon_CharizardDoll[] = INCBIN_U32("graphics/decorations/decor_charizard_doll.4bpp.lz"); +const u32 gDecorIconPalette_CharizardDoll[] = INCBIN_U32("graphics/decorations/decor_charizard_doll.gbapal.lz"); -const u32 gUnknown_08DB9BA4[] = INCBIN_U32("graphics/decorations/decor_blastoise_doll.4bpp.lz"); -const u32 gUnknown_08DB9CB0[] = INCBIN_U32("graphics/decorations/decor_blastoise_doll.gbapal.lz"); +const u32 gDecorIcon_BlastoiseDoll[] = INCBIN_U32("graphics/decorations/decor_blastoise_doll.4bpp.lz"); +const u32 gDecorIconPalette_BlastoiseDoll[] = INCBIN_U32("graphics/decorations/decor_blastoise_doll.gbapal.lz"); -const u32 gUnknown_08DB9CD8[] = INCBIN_U32("graphics/decorations/decor_wailmer_doll.4bpp.lz"); -const u32 gUnknown_08DB9DAC[] = INCBIN_U32("graphics/decorations/decor_wailmer_doll.gbapal.lz"); +const u32 gDecorIcon_WailmerDoll[] = INCBIN_U32("graphics/decorations/decor_wailmer_doll.4bpp.lz"); +const u32 gDecorIconPalette_WailmerDoll[] = INCBIN_U32("graphics/decorations/decor_wailmer_doll.gbapal.lz"); -const u32 gUnknown_08DB9DD4[] = INCBIN_U32("graphics/decorations/decor_regice_doll.4bpp.lz"); -const u32 gUnknown_08DB9EE4[] = INCBIN_U32("graphics/decorations/decor_regice_doll.gbapal.lz"); +const u32 gDecorIcon_RegiceDoll[] = INCBIN_U32("graphics/decorations/decor_regice_doll.4bpp.lz"); +const u32 gDecorIconPalette_RegiceDoll[] = INCBIN_U32("graphics/decorations/decor_regice_doll.gbapal.lz"); -const u32 gUnknown_08DB9F08[] = INCBIN_U32("graphics/decorations/decor_regirock_doll.4bpp.lz"); -const u32 gUnknown_08DB9FFC[] = INCBIN_U32("graphics/decorations/decor_regirock_doll.gbapal.lz"); +const u32 gDecorIcon_RegirockDoll[] = INCBIN_U32("graphics/decorations/decor_regirock_doll.4bpp.lz"); +const u32 gDecorIconPalette_RegirockDoll[] = INCBIN_U32("graphics/decorations/decor_regirock_doll.gbapal.lz"); -const u32 gUnknown_08DBA020[] = INCBIN_U32("graphics/decorations/decor_registeel_doll.4bpp.lz"); -const u32 gUnknown_08DBA12C[] = INCBIN_U32("graphics/decorations/decor_registeel_doll.gbapal.lz"); +const u32 gDecorIcon_RegisteelDoll[] = INCBIN_U32("graphics/decorations/decor_registeel_doll.4bpp.lz"); +const u32 gDecorIconPalette_RegisteelDoll[] = INCBIN_U32("graphics/decorations/decor_registeel_doll.gbapal.lz"); diff --git a/src/data/pokemon/tutor_learnsets.h b/src/data/pokemon/tutor_learnsets.h index 27fb40621..0a930e993 100644 --- a/src/data/pokemon/tutor_learnsets.h +++ b/src/data/pokemon/tutor_learnsets.h @@ -63,5721 +63,5720 @@ const u16 gTutorMoves[] = [TUTOR_MOVE_FURY_CUTTER] = MOVE_FURY_CUTTER, }; -#define TUTOR_LEARNSET(moves) ((u32)(moves)) -#define TUTOR(move) ((u64)1 << (TUTOR_##move)) +#define TUTOR(move) (1u << (TUTOR_##move)) static const u32 sTutorLearnsets[] = { - [SPECIES_NONE] = TUTOR_LEARNSET(0), - - [SPECIES_BULBASAUR] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_IVYSAUR] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_VENUSAUR] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_CHARMANDER] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_DEFENSE_CURL) - | TUTOR(MOVE_FIRE_PUNCH) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_CHARMELEON] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_DEFENSE_CURL) - | TUTOR(MOVE_FIRE_PUNCH) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_CHARIZARD] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_DEFENSE_CURL) - | TUTOR(MOVE_FIRE_PUNCH) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_SQUIRTLE] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL)), - - [SPECIES_WARTORTLE] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL)), - - [SPECIES_BLASTOISE] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL)), - - [SPECIES_CATERPIE] = TUTOR_LEARNSET(0), - - [SPECIES_METAPOD] = TUTOR_LEARNSET(0), - - [SPECIES_BUTTERFREE] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_WEEDLE] = TUTOR_LEARNSET(0), - - [SPECIES_KAKUNA] = TUTOR_LEARNSET(0), - - [SPECIES_BEEDRILL] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_PIDGEY] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_PIDGEOTTO] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_PIDGEOT] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_RATTATA] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_DEFENSE_CURL)), - - [SPECIES_RATICATE] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_DEFENSE_CURL)), - - [SPECIES_SPEAROW] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_FEAROW] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_EKANS] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK)), - - [SPECIES_ARBOK] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK)), - - [SPECIES_PIKACHU] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_DEFENSE_CURL) - | TUTOR(MOVE_THUNDER_PUNCH)), - - [SPECIES_RAICHU] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_DEFENSE_CURL) - | TUTOR(MOVE_THUNDER_PUNCH)), - - [SPECIES_SANDSHREW] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_DEFENSE_CURL) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_SANDSLASH] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_DEFENSE_CURL) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_NIDORAN_F] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL)), - - [SPECIES_NIDORINA] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL)), - - [SPECIES_NIDOQUEEN] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_NIDORAN_M] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL)), - - [SPECIES_NIDORINO] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL)), - - [SPECIES_NIDOKING] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_CLEFAIRY] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_METRONOME) - | TUTOR(MOVE_SOFT_BOILED) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH)), - - [SPECIES_CLEFABLE] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_METRONOME) - | TUTOR(MOVE_SOFT_BOILED) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH)), - - [SPECIES_VULPIX] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_NINETALES] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_JIGGLYPUFF] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH)), - - [SPECIES_WIGGLYTUFF] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH)), - - [SPECIES_ZUBAT] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_GOLBAT] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_ODDISH] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK)), - - [SPECIES_GLOOM] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK)), - - [SPECIES_VILEPLUME] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK)), - - [SPECIES_PARAS] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_PARASECT] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_VENONAT] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_VENOMOTH] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_DIGLETT] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK)), - - [SPECIES_DUGTRIO] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK)), - - [SPECIES_MEOWTH] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_DEFENSE_CURL)), - - [SPECIES_PERSIAN] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_DEFENSE_CURL)), - - [SPECIES_PSYDUCK] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_GOLDUCK] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_MANKEY] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_METRONOME) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_DEFENSE_CURL) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH)), - - [SPECIES_PRIMEAPE] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_METRONOME) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_DEFENSE_CURL) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH)), - - [SPECIES_GROWLITHE] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_ARCANINE] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_POLIWAG] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL)), - - [SPECIES_POLIWHIRL] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_METRONOME) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL)), - - [SPECIES_POLIWRATH] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_METRONOME) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL)), - - [SPECIES_ABRA] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_METRONOME) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH)), - - [SPECIES_KADABRA] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_METRONOME) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH)), - - [SPECIES_ALAKAZAM] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_METRONOME) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH)), - - [SPECIES_MACHOP] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_METRONOME) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH)), - - [SPECIES_MACHOKE] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_METRONOME) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH)), - - [SPECIES_MACHAMP] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_METRONOME) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH)), - - [SPECIES_BELLSPROUT] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK)), - - [SPECIES_WEEPINBELL] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK)), - - [SPECIES_VICTREEBEL] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK)), - - [SPECIES_TENTACOOL] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK)), - - [SPECIES_TENTACRUEL] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK)), - - [SPECIES_GEODUDE] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_METRONOME) - | TUTOR(MOVE_EXPLOSION) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL) - | TUTOR(MOVE_FIRE_PUNCH)), - - [SPECIES_GRAVELER] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_METRONOME) - | TUTOR(MOVE_EXPLOSION) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL) - | TUTOR(MOVE_FIRE_PUNCH)), - - [SPECIES_GOLEM] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_METRONOME) - | TUTOR(MOVE_EXPLOSION) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL) - | TUTOR(MOVE_FIRE_PUNCH) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_PONYTA] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_RAPIDASH] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_SLOWPOKE] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_SLOWBRO] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_MAGNEMITE] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_MAGNETON] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_FARFETCHD] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_DODUO] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_DODRIO] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_SEEL] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK)), - - [SPECIES_DEWGONG] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK)), - - [SPECIES_GRIMER] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_EXPLOSION) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH)), - - [SPECIES_MUK] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_EXPLOSION) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH)), - - [SPECIES_SHELLDER] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_EXPLOSION) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_CLOYSTER] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_EXPLOSION) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_GASTLY] = TUTOR_LEARNSET(TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_EXPLOSION) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK)), - - [SPECIES_HAUNTER] = TUTOR_LEARNSET(TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_EXPLOSION) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK)), - - [SPECIES_GENGAR] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_METRONOME) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_EXPLOSION) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH)), - - [SPECIES_ONIX] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_EXPLOSION) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK)), - - [SPECIES_DROWZEE] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_METRONOME) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH)), - - [SPECIES_HYPNO] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_METRONOME) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH)), - - [SPECIES_KRABBY] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_KINGLER] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_VOLTORB] = TUTOR_LEARNSET(TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_EXPLOSION) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_ELECTRODE] = TUTOR_LEARNSET(TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_EXPLOSION) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_EXEGGCUTE] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_EXPLOSION) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK)), - - [SPECIES_EXEGGUTOR] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_EXPLOSION) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK)), - - [SPECIES_CUBONE] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH)), - - [SPECIES_MAROWAK] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH)), - - [SPECIES_HITMONLEE] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_METRONOME) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_HITMONCHAN] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_METRONOME) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH)), - - [SPECIES_LICKITUNG] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH)), - - [SPECIES_KOFFING] = TUTOR_LEARNSET(TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_EXPLOSION) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK)), - - [SPECIES_WEEZING] = TUTOR_LEARNSET(TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_EXPLOSION) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK)), - - [SPECIES_RHYHORN] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK)), - - [SPECIES_RHYDON] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_CHANSEY] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_METRONOME) - | TUTOR(MOVE_SOFT_BOILED) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL)), - - [SPECIES_TANGELA] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK)), - - [SPECIES_KANGASKHAN] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_HORSEA] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_SEADRA] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_GOLDEEN] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_SEAKING] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_STARYU] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_STARMIE] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_MR_MIME] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_METRONOME) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH)), - - [SPECIES_SCYTHER] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_JYNX] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_METRONOME) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK)), - - [SPECIES_ELECTABUZZ] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH)), - - [SPECIES_MAGMAR] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH)), - - [SPECIES_PINSIR] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_TAUROS] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK)), - - [SPECIES_MAGIKARP] = TUTOR_LEARNSET(0), - - [SPECIES_GYARADOS] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK)), - - [SPECIES_LAPRAS] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK)), - - [SPECIES_DITTO] = TUTOR_LEARNSET(0), - - [SPECIES_EEVEE] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_VAPOREON] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_JOLTEON] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_FLAREON] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_PORYGON] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_OMANYTE] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK)), - - [SPECIES_OMASTAR] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK)), - - [SPECIES_KABUTO] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK)), - - [SPECIES_KABUTOPS] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_AERODACTYL] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_SNORLAX] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_METRONOME) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH)), - - [SPECIES_ARTICUNO] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_ZAPDOS] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_MOLTRES] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_DRATINI] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_DRAGONAIR] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_DRAGONITE] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_MEWTWO] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_METRONOME) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH)), - - [SPECIES_MEW] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_METRONOME) - | TUTOR(MOVE_SOFT_BOILED) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_EXPLOSION) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_DEFENSE_CURL) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_CHIKORITA] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK)), - - [SPECIES_BAYLEEF] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_MEGANIUM] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_CYNDAQUIL] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_DEFENSE_CURL)), - - [SPECIES_QUILAVA] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_DEFENSE_CURL) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_TYPHLOSION] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_DEFENSE_CURL) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_TOTODILE] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK)), - - [SPECIES_CROCONAW] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_FERALIGATR] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_SENTRET] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_DEFENSE_CURL) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_FURRET] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_DEFENSE_CURL) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_HOOTHOOT] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_NOCTOWL] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_LEDYBA] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_THUNDER_PUNCH)), - - [SPECIES_LEDIAN] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_THUNDER_PUNCH)), - - [SPECIES_SPINARAK] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK)), - - [SPECIES_ARIADOS] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK)), - - [SPECIES_CROBAT] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_CHINCHOU] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK)), - - [SPECIES_LANTURN] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK)), - - [SPECIES_PICHU] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_DEFENSE_CURL)), - - [SPECIES_CLEFFA] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_METRONOME) - | TUTOR(MOVE_SOFT_BOILED) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL)), - - [SPECIES_IGGLYBUFF] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL)), - - [SPECIES_TOGEPI] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_METRONOME) - | TUTOR(MOVE_SOFT_BOILED) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_DEFENSE_CURL)), - - [SPECIES_TOGETIC] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_METRONOME) - | TUTOR(MOVE_SOFT_BOILED) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_DEFENSE_CURL)), - - [SPECIES_NATU] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_XATU] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_MAREEP] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_DEFENSE_CURL)), - - [SPECIES_FLAAFFY] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_DEFENSE_CURL) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH)), - - [SPECIES_AMPHAROS] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_DEFENSE_CURL) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH)), - - [SPECIES_BELLOSSOM] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK)), - - [SPECIES_MARILL] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_DEFENSE_CURL)), - - [SPECIES_AZUMARILL] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_DEFENSE_CURL)), - - [SPECIES_SUDOWOODO] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_EXPLOSION) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH)), - - [SPECIES_POLITOED] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_METRONOME) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL)), - - [SPECIES_HOPPIP] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL)), - - [SPECIES_SKIPLOOM] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL)), - - [SPECIES_JUMPLUFF] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL)), - - [SPECIES_AIPOM] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_METRONOME) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_DEFENSE_CURL) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_SUNKERN] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK)), - - [SPECIES_SUNFLORA] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK)), - - [SPECIES_YANMA] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_WOOPER] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL)), - - [SPECIES_QUAGSIRE] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL)), - - [SPECIES_ESPEON] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_UMBREON] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_MURKROW] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_SLOWKING] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_MISDREAVUS] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_DEFENSE_CURL)), - - [SPECIES_UNOWN] = TUTOR_LEARNSET(0), - - [SPECIES_WOBBUFFET] = TUTOR_LEARNSET(0), - - [SPECIES_GIRAFARIG] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_PINECO] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_EXPLOSION) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL)), - - [SPECIES_FORRETRESS] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_EXPLOSION) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL)), - - [SPECIES_DUNSPARCE] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL)), - - [SPECIES_GLIGAR] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_STEELIX] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_EXPLOSION) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL)), - - [SPECIES_SNUBBULL] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_METRONOME) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH)), - - [SPECIES_GRANBULL] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_METRONOME) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH)), - - [SPECIES_QWILFISH] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_DEFENSE_CURL)), - - [SPECIES_SCIZOR] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_SHUCKLE] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL)), - - [SPECIES_HERACROSS] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_SNEASEL] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_DEFENSE_CURL) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_TEDDIURSA] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_METRONOME) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_DEFENSE_CURL) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_URSARING] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_METRONOME) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_DEFENSE_CURL) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_SLUGMA] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL)), - - [SPECIES_MAGCARGO] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL)), - - [SPECIES_SWINUB] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL)), - - [SPECIES_PILOSWINE] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL)), - - [SPECIES_CORSOLA] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_EXPLOSION) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL)), - - [SPECIES_REMORAID] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_DEFENSE_CURL)), - - [SPECIES_OCTILLERY] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_DEFENSE_CURL)), - - [SPECIES_DELIBIRD] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_MANTINE] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_SKARMORY] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_HOUNDOUR] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_HOUNDOOM] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_KINGDRA] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_PHANPY] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL)), - - [SPECIES_DONPHAN] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL)), - - [SPECIES_PORYGON2] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_DEFENSE_CURL)), - - [SPECIES_STANTLER] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_SMEARGLE] = TUTOR_LEARNSET(0), - - [SPECIES_TYROGUE] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_HITMONTOP] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_SMOOCHUM] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_METRONOME) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK)), - - [SPECIES_ELEKID] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH)), - - [SPECIES_MAGBY] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH)), - - [SPECIES_MILTANK] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_METRONOME) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH)), - - [SPECIES_BLISSEY] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_METRONOME) - | TUTOR(MOVE_SOFT_BOILED) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL)), - - [SPECIES_RAIKOU] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_ENTEI] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_SUICUNE] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_LARVITAR] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK)), - - [SPECIES_PUPITAR] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK)), - - [SPECIES_TYRANITAR] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_FIRE_PUNCH) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_LUGIA] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_HO_OH] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_CELEBI] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_METRONOME) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_DEFENSE_CURL)), - - [SPECIES_TREECKO] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_GROVYLE] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_SCEPTILE] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_TORCHIC] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_COMBUSKEN] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_BLAZIKEN] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_MUDKIP] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL)), - - [SPECIES_MARSHTOMP] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL)), - - [SPECIES_SWAMPERT] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL)), - - [SPECIES_POOCHYENA] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK)), - - [SPECIES_MIGHTYENA] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK)), - - [SPECIES_ZIGZAGOON] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_DEFENSE_CURL) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_LINOONE] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_DEFENSE_CURL) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_WURMPLE] = TUTOR_LEARNSET(0), - - [SPECIES_SILCOON] = TUTOR_LEARNSET(0), - - [SPECIES_BEAUTIFLY] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_CASCOON] = TUTOR_LEARNSET(0), - - [SPECIES_DUSTOX] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_LOTAD] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK)), - - [SPECIES_LOMBRE] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH)), - - [SPECIES_LUDICOLO] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_METRONOME) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH)), - - [SPECIES_SEEDOT] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_EXPLOSION) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL)), - - [SPECIES_NUZLEAF] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_EXPLOSION) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_DEFENSE_CURL) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_SHIFTRY] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_EXPLOSION) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_DEFENSE_CURL) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_NINCADA] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_NINJASK] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_SHEDINJA] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_TAILLOW] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_SWELLOW] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_SHROOMISH] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK)), - - [SPECIES_BRELOOM] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_SPINDA] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_METRONOME) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_DEFENSE_CURL) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH)), - - [SPECIES_WINGULL] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_PELIPPER] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_SURSKIT] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_MASQUERAIN] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_WAILMER] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL)), - - [SPECIES_WAILORD] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL)), - - [SPECIES_SKITTY] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_DEFENSE_CURL)), - - [SPECIES_DELCATTY] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_DEFENSE_CURL)), - - [SPECIES_KECLEON] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_METRONOME) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_DEFENSE_CURL) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_BALTOY] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_EXPLOSION) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK)), - - [SPECIES_CLAYDOL] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_EXPLOSION) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK)), - - [SPECIES_NOSEPASS] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_EXPLOSION) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH)), - - [SPECIES_TORKOAL] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_EXPLOSION) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK)), - - [SPECIES_SABLEYE] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_METRONOME) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_BARBOACH] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK)), - - [SPECIES_WHISCASH] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK)), - - [SPECIES_LUVDISC] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_CORPHISH] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_CRAWDAUNT] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_FEEBAS] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_MILOTIC] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_CARVANHA] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_SHARPEDO] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_TRAPINCH] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK)), - - [SPECIES_VIBRAVA] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_FLYGON] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_FIRE_PUNCH) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_MAKUHITA] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_METRONOME) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH)), - - [SPECIES_HARIYAMA] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_METRONOME) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH)), - - [SPECIES_ELECTRIKE] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_MANECTRIC] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_NUMEL] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL)), - - [SPECIES_CAMERUPT] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_EXPLOSION) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL)), - - [SPECIES_SPHEAL] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL)), - - [SPECIES_SEALEO] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL)), - - [SPECIES_WALREIN] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL)), - - [SPECIES_CACNEA] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_CACTURNE] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_SNORUNT] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK)), - - [SPECIES_GLALIE] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_EXPLOSION) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL)), - - [SPECIES_LUNATONE] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_EXPLOSION) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_DEFENSE_CURL)), - - [SPECIES_SOLROCK] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_EXPLOSION) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_DEFENSE_CURL)), - - [SPECIES_AZURILL] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_DEFENSE_CURL)), - - [SPECIES_SPOINK] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_GRUMPIG] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH)), - - [SPECIES_PLUSLE] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_METRONOME) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_DEFENSE_CURL) - | TUTOR(MOVE_THUNDER_PUNCH)), - - [SPECIES_MINUN] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_METRONOME) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_DEFENSE_CURL) - | TUTOR(MOVE_THUNDER_PUNCH)), - - [SPECIES_MAWILE] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_THUNDER_PUNCH)), - - [SPECIES_MEDITITE] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_METRONOME) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH)), - - [SPECIES_MEDICHAM] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_METRONOME) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH)), - - [SPECIES_SWABLU] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_ALTARIA] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_WYNAUT] = TUTOR_LEARNSET(0), - - [SPECIES_DUSKULL] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK)), - - [SPECIES_DUSCLOPS] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_METRONOME) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH)), - - [SPECIES_ROSELIA] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_SLAKOTH] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_VIGOROTH] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_SLAKING] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_GULPIN] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_EXPLOSION) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH)), - - [SPECIES_SWALOT] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_EXPLOSION) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH)), - - [SPECIES_TROPIUS] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_WHISMUR] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH)), - - [SPECIES_LOUDRED] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH)), - - [SPECIES_EXPLOUD] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH)), - - [SPECIES_CLAMPERL] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK)), - - [SPECIES_HUNTAIL] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_GOREBYSS] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT)), - - [SPECIES_ABSOL] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_SHUPPET] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK)), - - [SPECIES_BANETTE] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_METRONOME) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK)), - - [SPECIES_SEVIPER] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_ZANGOOSE] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_DEFENSE_CURL) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_RELICANTH] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK)), - - [SPECIES_ARON] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_LAIRON] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_AGGRON] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_CASTFORM] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_DEFENSE_CURL)), - - [SPECIES_VOLBEAT] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_METRONOME) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_THUNDER_PUNCH)), - - [SPECIES_ILLUMISE] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_METRONOME) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_THUNDER_PUNCH)), - - [SPECIES_LILEEP] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK)), - - [SPECIES_CRADILY] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK)), - - [SPECIES_ANORITH] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_ARMALDO] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_RALTS] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH)), - - [SPECIES_KIRLIA] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH)), - - [SPECIES_GARDEVOIR] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH)), - - [SPECIES_BAGON] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_SHELGON] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_SALAMENCE] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_DEFENSE_CURL) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_BELDUM] = TUTOR_LEARNSET(0), - - [SPECIES_METANG] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_EXPLOSION) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_DEFENSE_CURL) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_METAGROSS] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_EXPLOSION) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_DEFENSE_CURL) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_REGIROCK] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_EXPLOSION) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH)), - - [SPECIES_REGICE] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_EXPLOSION) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL) - | TUTOR(MOVE_THUNDER_PUNCH)), - - [SPECIES_REGISTEEL] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_EXPLOSION) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL) - | TUTOR(MOVE_THUNDER_PUNCH)), - - [SPECIES_KYOGRE] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_DEFENSE_CURL)), - - [SPECIES_GROUDON] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_SWORDS_DANCE) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_DEFENSE_CURL) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_RAYQUAZA] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_LATIAS] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_LATIOS] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_FURY_CUTTER)), - - [SPECIES_JIRACHI] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_METRONOME) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_DEFENSE_CURL) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH)), - - [SPECIES_DEOXYS] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH) - | TUTOR(MOVE_MEGA_KICK) - | TUTOR(MOVE_BODY_SLAM) - | TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_COUNTER) - | TUTOR(MOVE_SEISMIC_TOSS) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_THUNDER_WAVE) - | TUTOR(MOVE_ROCK_SLIDE) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_DYNAMIC_PUNCH) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_MUD_SLAP) - | TUTOR(MOVE_ICE_PUNCH) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_SWIFT) - | TUTOR(MOVE_THUNDER_PUNCH) - | TUTOR(MOVE_FIRE_PUNCH)), - - [SPECIES_CHIMECHO] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE) - | TUTOR(MOVE_MIMIC) - | TUTOR(MOVE_DREAM_EATER) - | TUTOR(MOVE_SUBSTITUTE) - | TUTOR(MOVE_ROLLOUT) - | TUTOR(MOVE_PSYCH_UP) - | TUTOR(MOVE_SNORE) - | TUTOR(MOVE_ICY_WIND) - | TUTOR(MOVE_ENDURE) - | TUTOR(MOVE_SWAGGER) - | TUTOR(MOVE_SLEEP_TALK) - | TUTOR(MOVE_DEFENSE_CURL)), + [SPECIES_NONE] = (0), + + [SPECIES_BULBASAUR] = (TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_IVYSAUR] = (TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_VENUSAUR] = (TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_CHARMANDER] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_FIRE_PUNCH) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_CHARMELEON] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_FIRE_PUNCH) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_CHARIZARD] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_FIRE_PUNCH) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_SQUIRTLE] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_WARTORTLE] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_BLASTOISE] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_CATERPIE] = (0), + + [SPECIES_METAPOD] = (0), + + [SPECIES_BUTTERFREE] = (TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_WEEDLE] = (0), + + [SPECIES_KAKUNA] = (0), + + [SPECIES_BEEDRILL] = (TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_PIDGEY] = (TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_PIDGEOTTO] = (TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_PIDGEOT] = (TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_RATTATA] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_RATICATE] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_SPEAROW] = (TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_FEAROW] = (TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_EKANS] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_ARBOK] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_PIKACHU] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH)), + + [SPECIES_RAICHU] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH)), + + [SPECIES_SANDSHREW] = (TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_SANDSLASH] = (TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_NIDORAN_F] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_NIDORINA] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_NIDOQUEEN] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_NIDORAN_M] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_NIDORINO] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_NIDOKING] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_CLEFAIRY] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_SOFT_BOILED) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_CLEFABLE] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_SOFT_BOILED) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_VULPIX] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_NINETALES] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_JIGGLYPUFF] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_WIGGLYTUFF] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_ZUBAT] = (TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_GOLBAT] = (TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_ODDISH] = (TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_GLOOM] = (TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_VILEPLUME] = (TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_PARAS] = (TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_PARASECT] = (TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_VENONAT] = (TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_VENOMOTH] = (TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_DIGLETT] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_DUGTRIO] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_MEOWTH] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_PERSIAN] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_PSYDUCK] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_GOLDUCK] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_MANKEY] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_PRIMEAPE] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_GROWLITHE] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_ARCANINE] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_POLIWAG] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_POLIWHIRL] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_POLIWRATH] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_ABRA] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_KADABRA] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_ALAKAZAM] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_MACHOP] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_MACHOKE] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_MACHAMP] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_BELLSPROUT] = (TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_WEEPINBELL] = (TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_VICTREEBEL] = (TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_TENTACOOL] = (TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_TENTACRUEL] = (TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_GEODUDE] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_GRAVELER] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_GOLEM] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_FIRE_PUNCH) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_PONYTA] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_RAPIDASH] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_SLOWPOKE] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_SLOWBRO] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_MAGNEMITE] = (TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_MAGNETON] = (TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_FARFETCHD] = (TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_DODUO] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_DODRIO] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_SEEL] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_DEWGONG] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_GRIMER] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_MUK] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_SHELLDER] = (TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_CLOYSTER] = (TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_GASTLY] = (TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_HAUNTER] = (TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_GENGAR] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_ONIX] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_DROWZEE] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_HYPNO] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_KRABBY] = (TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_KINGLER] = (TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_VOLTORB] = (TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_ELECTRODE] = (TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_EXEGGCUTE] = (TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_EXEGGUTOR] = (TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_CUBONE] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_MAROWAK] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_HITMONLEE] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_HITMONCHAN] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_LICKITUNG] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_KOFFING] = (TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_WEEZING] = (TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_RHYHORN] = (TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_RHYDON] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_CHANSEY] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_SOFT_BOILED) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_TANGELA] = (TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_KANGASKHAN] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_HORSEA] = (TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_SEADRA] = (TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_GOLDEEN] = (TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_SEAKING] = (TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_STARYU] = (TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_STARMIE] = (TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_MR_MIME] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_SCYTHER] = (TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_JYNX] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_ELECTABUZZ] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_MAGMAR] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_PINSIR] = (TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_TAUROS] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_MAGIKARP] = (0), + + [SPECIES_GYARADOS] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_LAPRAS] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_DITTO] = (0), + + [SPECIES_EEVEE] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_VAPOREON] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_JOLTEON] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_FLAREON] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_PORYGON] = (TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_OMANYTE] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_OMASTAR] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_KABUTO] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_KABUTOPS] = (TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_AERODACTYL] = (TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_SNORLAX] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_ARTICUNO] = (TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_ZAPDOS] = (TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_MOLTRES] = (TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_DRATINI] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_DRAGONAIR] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_DRAGONITE] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_MEWTWO] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_MEW] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_SOFT_BOILED) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_CHIKORITA] = (TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_BAYLEEF] = (TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_MEGANIUM] = (TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_CYNDAQUIL] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_QUILAVA] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_TYPHLOSION] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_TOTODILE] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_CROCONAW] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_FERALIGATR] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_SENTRET] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_FURRET] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_HOOTHOOT] = (TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_NOCTOWL] = (TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_LEDYBA] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_THUNDER_PUNCH)), + + [SPECIES_LEDIAN] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_THUNDER_PUNCH)), + + [SPECIES_SPINARAK] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_ARIADOS] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_CROBAT] = (TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_CHINCHOU] = (TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_LANTURN] = (TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_PICHU] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_CLEFFA] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_SOFT_BOILED) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_IGGLYBUFF] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_TOGEPI] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_SOFT_BOILED) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_TOGETIC] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_SOFT_BOILED) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_NATU] = (TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_XATU] = (TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_MAREEP] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_FLAAFFY] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_AMPHAROS] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_BELLOSSOM] = (TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_MARILL] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_AZUMARILL] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_SUDOWOODO] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_POLITOED] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_HOPPIP] = (TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_SKIPLOOM] = (TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_JUMPLUFF] = (TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_AIPOM] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_SUNKERN] = (TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_SUNFLORA] = (TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_YANMA] = (TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_WOOPER] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_QUAGSIRE] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_ESPEON] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_UMBREON] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_MURKROW] = (TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_SLOWKING] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_MISDREAVUS] = (TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_UNOWN] = (0), + + [SPECIES_WOBBUFFET] = (0), + + [SPECIES_GIRAFARIG] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_PINECO] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_FORRETRESS] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_DUNSPARCE] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_GLIGAR] = (TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_STEELIX] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_SNUBBULL] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_GRANBULL] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_QWILFISH] = (TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_SCIZOR] = (TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_SHUCKLE] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_HERACROSS] = (TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_SNEASEL] = (TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_TEDDIURSA] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_URSARING] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_SLUGMA] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_MAGCARGO] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_SWINUB] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_PILOSWINE] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_CORSOLA] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_REMORAID] = (TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_OCTILLERY] = (TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_DELIBIRD] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_MANTINE] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_SKARMORY] = (TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_HOUNDOUR] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_HOUNDOOM] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_KINGDRA] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_PHANPY] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_DONPHAN] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_PORYGON2] = (TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_STANTLER] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_SMEARGLE] = (0), + + [SPECIES_TYROGUE] = (TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_HITMONTOP] = (TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_SMOOCHUM] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_ELEKID] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_MAGBY] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_MILTANK] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_BLISSEY] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_SOFT_BOILED) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_RAIKOU] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_ENTEI] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_SUICUNE] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_LARVITAR] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_PUPITAR] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_TYRANITAR] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_FIRE_PUNCH) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_LUGIA] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_HO_OH] = (TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_CELEBI] = (TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_TREECKO] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_GROVYLE] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_SCEPTILE] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_TORCHIC] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_COMBUSKEN] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_BLAZIKEN] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_MUDKIP] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_MARSHTOMP] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_SWAMPERT] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_POOCHYENA] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_MIGHTYENA] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_ZIGZAGOON] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_LINOONE] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_WURMPLE] = (0), + + [SPECIES_SILCOON] = (0), + + [SPECIES_BEAUTIFLY] = (TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_CASCOON] = (0), + + [SPECIES_DUSTOX] = (TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_LOTAD] = (TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_LOMBRE] = (TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_LUDICOLO] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_SEEDOT] = (TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_NUZLEAF] = (TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_SHIFTRY] = (TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_NINCADA] = (TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_NINJASK] = (TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_SHEDINJA] = (TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_TAILLOW] = (TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_SWELLOW] = (TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_SHROOMISH] = (TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_BRELOOM] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_SPINDA] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_WINGULL] = (TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_PELIPPER] = (TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_SURSKIT] = (TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_MASQUERAIN] = (TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_WAILMER] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_WAILORD] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_SKITTY] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_DELCATTY] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_KECLEON] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_BALTOY] = (TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_CLAYDOL] = (TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_NOSEPASS] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_TORKOAL] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_SABLEYE] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_BARBOACH] = (TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_WHISCASH] = (TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_LUVDISC] = (TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_CORPHISH] = (TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_CRAWDAUNT] = (TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_FEEBAS] = (TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_MILOTIC] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_CARVANHA] = (TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_SHARPEDO] = (TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_TRAPINCH] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_VIBRAVA] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_FLYGON] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_FIRE_PUNCH) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_MAKUHITA] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_HARIYAMA] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_ELECTRIKE] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_MANECTRIC] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_NUMEL] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_CAMERUPT] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_SPHEAL] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_SEALEO] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_WALREIN] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_CACNEA] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_CACTURNE] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_SNORUNT] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_GLALIE] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_LUNATONE] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_SOLROCK] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_AZURILL] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_SPOINK] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_GRUMPIG] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_PLUSLE] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH)), + + [SPECIES_MINUN] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH)), + + [SPECIES_MAWILE] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_THUNDER_PUNCH)), + + [SPECIES_MEDITITE] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_MEDICHAM] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_SWABLU] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_ALTARIA] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_WYNAUT] = (0), + + [SPECIES_DUSKULL] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_DUSCLOPS] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_ROSELIA] = (TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_SLAKOTH] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_VIGOROTH] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_SLAKING] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_GULPIN] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_SWALOT] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_TROPIUS] = (TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_WHISMUR] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_LOUDRED] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_EXPLOUD] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_CLAMPERL] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_HUNTAIL] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_GOREBYSS] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT)), + + [SPECIES_ABSOL] = (TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_SHUPPET] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_BANETTE] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_SEVIPER] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_ZANGOOSE] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_RELICANTH] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_ARON] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_LAIRON] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_AGGRON] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_CASTFORM] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_VOLBEAT] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_THUNDER_PUNCH)), + + [SPECIES_ILLUMISE] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_THUNDER_PUNCH)), + + [SPECIES_LILEEP] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_CRADILY] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK)), + + [SPECIES_ANORITH] = (TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_ARMALDO] = (TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_RALTS] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_KIRLIA] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_GARDEVOIR] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_BAGON] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_SHELGON] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_SALAMENCE] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_BELDUM] = (0), + + [SPECIES_METANG] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_METAGROSS] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_REGIROCK] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_REGICE] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH)), + + [SPECIES_REGISTEEL] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_EXPLOSION) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH)), + + [SPECIES_KYOGRE] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL)), + + [SPECIES_GROUDON] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_SWORDS_DANCE) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_RAYQUAZA] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_LATIAS] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_LATIOS] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_FURY_CUTTER)), + + [SPECIES_JIRACHI] = (TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_METRONOME) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_DEFENSE_CURL) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_DEOXYS] = (TUTOR(MOVE_MEGA_PUNCH) + | TUTOR(MOVE_MEGA_KICK) + | TUTOR(MOVE_BODY_SLAM) + | TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_COUNTER) + | TUTOR(MOVE_SEISMIC_TOSS) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_THUNDER_WAVE) + | TUTOR(MOVE_ROCK_SLIDE) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_DYNAMIC_PUNCH) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_MUD_SLAP) + | TUTOR(MOVE_ICE_PUNCH) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_SWIFT) + | TUTOR(MOVE_THUNDER_PUNCH) + | TUTOR(MOVE_FIRE_PUNCH)), + + [SPECIES_CHIMECHO] = (TUTOR(MOVE_DOUBLE_EDGE) + | TUTOR(MOVE_MIMIC) + | TUTOR(MOVE_DREAM_EATER) + | TUTOR(MOVE_SUBSTITUTE) + | TUTOR(MOVE_ROLLOUT) + | TUTOR(MOVE_PSYCH_UP) + | TUTOR(MOVE_SNORE) + | TUTOR(MOVE_ICY_WIND) + | TUTOR(MOVE_ENDURE) + | TUTOR(MOVE_SWAGGER) + | TUTOR(MOVE_SLEEP_TALK) + | TUTOR(MOVE_DEFENSE_CURL)), }; diff --git a/src/data/wild_encounters.json b/src/data/wild_encounters.json index 6dd24bfed..ea555bd32 100755 --- a/src/data/wild_encounters.json +++ b/src/data/wild_encounters.json @@ -3,6 +3,32 @@ { "label": "gWildMonHeaders", "for_maps": true, + "fields": [ + { + "type": "land_mons", + "encounter_rates": [ + 20, 20, 10, 10, 10, 10, 5, 5, 4, 4, 1, 1 + ] + }, + { + "type": "water_mons", + "encounter_rates": [ + 60, 30, 5, 4, 1 + ] + }, + { + "type": "rock_smash_mons", + "encounter_rates": [ + 60, 30, 5, 4, 1 + ] + }, + { + "type": "fishing_mons", + "encounter_rates": [ + 70, 30, 60, 20, 20, 40, 40, 15, 4, 1 + ] + } + ], "encounters": [ { "map": "MAP_ROUTE101", diff --git a/src/data/wild_encounters.json.txt b/src/data/wild_encounters.json.txt index 8f88cc587..85755ddec 100755 --- a/src/data/wild_encounters.json.txt +++ b/src/data/wild_encounters.json.txt @@ -1,5 +1,16 @@ {{ doNotModifyHeader }} + ## for wild_encounter_group in wild_encounter_groups +{% if wild_encounter_group.for_maps %} +## for wild_encounter_field in wild_encounter_group.fields +## for encounter_rate in wild_encounter_field.encounter_rates +{% if trackVar(encounter_rate, 100) %} +#define ENCOUNTER_CHANCE_{{ upper(wild_encounter_field.type) }}_SLOT_{{ loop.index }} {{ encounter_rate }} {% else %}#define ENCOUNTER_CHANCE_{{ upper(wild_encounter_field.type) }}_SLOT_{{ loop.index }} ENCOUNTER_CHANCE_{{ upper(wild_encounter_field.type) }}_SLOT_{{ subtract(loop.index, 1) }} + {{ encounter_rate }}{% endif %} {{ setVarInt(wild_encounter_field.type, loop.index) }} +## endfor +#define ENCOUNTER_CHANCE_{{ upper(wild_encounter_field.type) }}_TOTAL (ENCOUNTER_CHANCE_{{ upper(wild_encounter_field.type) }}_SLOT_{{ getVar(wild_encounter_field.type) }}) +## endfor +{% endif %} + ## for encounter in wild_encounter_group.encounters {% if existsIn(encounter, "land_mons") %} const struct WildPokemon {{ encounter.base_label }}_LandMons[] = diff --git a/src/daycare.c b/src/daycare.c index 2d05035d7..dc44b4887 100644 --- a/src/daycare.c +++ b/src/daycare.c @@ -34,10 +34,10 @@ static void DaycarePrintMonInfo(u8 windowId, s32 daycareSlotId, u8 y); // RAM buffers used to assist with BuildEggMoveset() EWRAM_DATA static u16 sHatchedEggLevelUpMoves[EGG_LVL_UP_MOVES_ARRAY_COUNT] = {0}; -EWRAM_DATA static u16 sHatchedEggFatherMoves[4] = {0}; -EWRAM_DATA static u16 sHatchedEggFinalMoves[4] = {0}; +EWRAM_DATA static u16 sHatchedEggFatherMoves[MAX_MON_MOVES] = {0}; +EWRAM_DATA static u16 sHatchedEggFinalMoves[MAX_MON_MOVES] = {0}; EWRAM_DATA static u16 sHatchedEggEggMoves[EGG_MOVES_ARRAY_COUNT] = {0}; -EWRAM_DATA static u16 sHatchedEggMotherMoves[4] = {0}; +EWRAM_DATA static u16 sHatchedEggMotherMoves[MAX_MON_MOVES] = {0}; #include "data/pokemon/egg_moves.h" diff --git a/src/decoration.c b/src/decoration.c index 94c1f40f4..cb371b300 100644 --- a/src/decoration.c +++ b/src/decoration.c @@ -2044,7 +2044,7 @@ const u32 *GetDecorationIconPicOrPalette(u16 decor, u8 mode) if (decor > NUM_DECORATIONS) decor = DECOR_NONE; - return gUnknown_085A6BE8[decor][mode]; + return gDecorIconTable[decor][mode]; } u8 AddDecorationIconObjectFromEventObject(u16 tilesTag, u16 paletteTag, u8 decor) @@ -2096,7 +2096,7 @@ u8 AddDecorationIconObject(u8 decor, s16 x, s16 y, u8 priority, u16 tilesTag, u1 gSprites[spriteId].pos2.x = x + 4; gSprites[spriteId].pos2.y = y + 4; } - else if (gUnknown_085A6BE8[decor][0] == NULL) + else if (gDecorIconTable[decor][0] == NULL) { spriteId = AddDecorationIconObjectFromEventObject(tilesTag, paletteTag, decor); if (spriteId == MAX_SPRITES) diff --git a/src/egg_hatch.c b/src/egg_hatch.c index 5e16f1479..4fba8578c 100644 --- a/src/egg_hatch.c +++ b/src/egg_hatch.c @@ -298,13 +298,13 @@ static void CreatedHatchedMon(struct Pokemon *egg, struct Pokemon *temp) u16 species; u32 personality, pokerus; u8 i, friendship, language, gameMet, markings, obedience; - u16 moves[4]; + u16 moves[MAX_MON_MOVES]; u32 ivs[NUM_STATS]; species = GetMonData(egg, MON_DATA_SPECIES); - for (i = 0; i < 4; i++) + for (i = 0; i < MAX_MON_MOVES; i++) { moves[i] = GetMonData(egg, MON_DATA_MOVE1 + i); } @@ -324,7 +324,7 @@ static void CreatedHatchedMon(struct Pokemon *egg, struct Pokemon *temp) CreateMon(temp, species, EGG_HATCH_LEVEL, 32, TRUE, personality, OT_ID_PLAYER_ID, 0); - for (i = 0; i < 4; i++) + for (i = 0; i < MAX_MON_MOVES; i++) { SetMonData(temp, MON_DATA_MOVE1 + i, &moves[i]); } diff --git a/src/ereader_helpers.c b/src/ereader_helpers.c index 11aaaafe7..f184dea82 100755 --- a/src/ereader_helpers.c +++ b/src/ereader_helpers.c @@ -9,6 +9,12 @@ #include "sprite.h" #include "task.h" #include "util.h" +#include "trainer_hill.h" +#include "constants/easy_chat.h" +#include "constants/trainers.h" +#include "constants/species.h" +#include "constants/moves.h" +#include "constants/items.h" struct Unknown030012C8 { @@ -38,14 +44,359 @@ static u16 gUnknown_030012F0; static u16 gUnknown_030012F2; static u16 gUnknown_030012F4; -extern const u8 gUnknown_08625B6C[][0x148]; +static const struct TrainerHillTrainer sTrainerHillTrainerTemplates_JP[] = { + [0] = { + .name = __("マキエ$$$$$ "), + .facilityClass = FACILITY_CLASS_HEX_MANIAC, + .unused = 0x1, + .speechBefore = { EC_WORD_PREPOSTEROUS, EC_WORD_CASE, EC_WORD_THERE, EC_WORD_TO_HER, EC_WORD_CHALLENGE, EC_WORD_JOKING }, + .speechWin = { EC_WORD_HERS, EC_WORD_TRUMP_CARD, EC_MOVE2(SECRET_POWER), EC_WORD_USING, EC_WORD_WON, EC_WORD_EXCL_EXCL }, + .speechLose = { EC_WORD_TO_HER, EC_WORD_WIN, EC_WORD_JOKING, EC_WORD_HIGHS, EC_WORD_SCARY, EC_WORD_ELLIPSIS_EXCL }, + .speechAfter = { EC_WORD_IGNORANT, EC_WORD_SO, EC_WORD_TODAY, EC_WORD_NIGHTTIME, EC_WORD_YOU_RE, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS }, + .mons = { + [0] = NULL_BATTLE_TOWER_POKEMON, + [1] = NULL_BATTLE_TOWER_POKEMON, + [2] = NULL_BATTLE_TOWER_POKEMON, + [3] = { + .species = SPECIES_SWALOT, + .heldItem = ITEM_SHELL_BELL, + .moves = { MOVE_SLUDGE_BOMB, MOVE_SHADOW_BALL, MOVE_PAIN_SPLIT, MOVE_YAWN }, + .level = 0, + .ppBonuses = 0x0, + .hpEV = 55, + .attackEV = 255, + .defenseEV = 100, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 100, + .otId = 0x10000000, + .hpIV = 5, + .attackIV = 5, + .defenseIV = 5, + .speedIV = 5, + .spAttackIV = 5, + .spDefenseIV = 5, + .abilityNum = 1, + .personality = 0x80, + .nickname = __("マルノーム$$$$$$"), + .friendship = 255 + }, + [4] = { + .species = SPECIES_DUSTOX, + .heldItem = ITEM_BRIGHT_POWDER, + .moves = { MOVE_SILVER_WIND, MOVE_SLUDGE_BOMB, MOVE_SHADOW_BALL, MOVE_GIGA_DRAIN }, + .level = 0, + .ppBonuses = 0x0, + .hpEV = 0, + .attackEV = 255, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 255, + .spDefenseEV = 0, + .otId = 0x10000000, + .hpIV = 5, + .attackIV = 5, + .defenseIV = 5, + .speedIV = 5, + .spAttackIV = 5, + .spDefenseIV = 5, + .abilityNum = 0, + .personality = 0x6, + .nickname = __("ドクケイル$$$$$$"), + .friendship = 255 + }, + [5] = { + .species = SPECIES_RELICANTH, + .heldItem = ITEM_QUICK_CLAW, + .moves = { MOVE_ANCIENT_POWER, MOVE_SURF, MOVE_EARTHQUAKE, MOVE_AMNESIA }, + .level = 0, + .ppBonuses = 0x0, + .hpEV = 100, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 155, + .spDefenseEV = 255, + .otId = 0x10000000, + .hpIV = 5, + .attackIV = 5, + .defenseIV = 5, + .speedIV = 5, + .spAttackIV = 5, + .spDefenseIV = 5, + .abilityNum = 0, + .personality = 0x2f, + .nickname = __("ジーランス$$$$$$"), + .friendship = 255 + }, + } + }, + [1] = { + .name = __("ハルヒト$$$$ "), + .facilityClass = FACILITY_CLASS_CAMPER, + .unused = 0x1, + .speechBefore = { EC_MOVE2(BOUNCE), EC_WORD_AS_MUCH_AS, 0xFFFF, EC_WORD_THEY_RE, EC_WORD_STRONG, EC_WORD_EXCL }, + .speechWin = { EC_MOVE(FLY), EC_WORD_AS_MUCH_AS, 0xFFFF, EC_WORD_THEY_RE, EC_WORD_HAPPY, EC_WORD_EXCL }, + .speechLose = { EC_MOVE2(MINIMIZE), EC_WORD_AS_MUCH_AS, 0xFFFF, EC_WORD_THEY_RE, EC_WORD_SAD, EC_WORD_EXCL }, + .speechAfter = { EC_MOVE(BITE), EC_WORD_AS_MUCH_AS, 0xFFFF, EC_WORD_THEY_RE, EC_WORD_ANGRY, EC_WORD_EXCL }, + .mons = { + [0] = NULL_BATTLE_TOWER_POKEMON, + [1] = NULL_BATTLE_TOWER_POKEMON, + [2] = NULL_BATTLE_TOWER_POKEMON, + [3] = { + .species = SPECIES_CACTURNE, + .heldItem = ITEM_QUICK_CLAW, + .moves = { MOVE_GIGA_DRAIN, MOVE_FAINT_ATTACK, MOVE_THUNDER_PUNCH, MOVE_GROWTH }, + .level = 0, + .ppBonuses = 0x0, + .hpEV = 55, + .attackEV = 0, + .defenseEV = 100, + .speedEV = 0, + .spAttackEV = 255, + .spDefenseEV = 100, + .otId = 0x10000000, + .hpIV = 5, + .attackIV = 5, + .defenseIV = 5, + .speedIV = 5, + .spAttackIV = 5, + .spDefenseIV = 5, + .abilityNum = 0, + .personality = 0x8c, + .nickname = __("ノクタス$$$$$$$"), + .friendship = 255 + }, + [4] = { + .species = SPECIES_SWELLOW, + .heldItem = ITEM_BRIGHT_POWDER, + .moves = { MOVE_FACADE, MOVE_AERIAL_ACE, MOVE_QUICK_ATTACK, MOVE_DOUBLE_TEAM }, + .level = 0, + .ppBonuses = 0x0, + .hpEV = 255, + .attackEV = 255, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0x10000000, + .hpIV = 5, + .attackIV = 5, + .defenseIV = 5, + .speedIV = 5, + .spAttackIV = 5, + .spDefenseIV = 5, + .abilityNum = 0, + .personality = 0x80, + .nickname = __("オオスバメ$$$$$$"), + .friendship = 255 + }, + [5] = { + .species = SPECIES_WHISCASH, + .heldItem = ITEM_CHESTO_BERRY, + .moves = { MOVE_SURF, MOVE_EARTHQUAKE, MOVE_AMNESIA, MOVE_REST }, + .level = 0, + .ppBonuses = 0x0, + .hpEV = 0, + .attackEV = 255, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 255, + .spDefenseEV = 0, + .otId = 0x10000000, + .hpIV = 5, + .attackIV = 5, + .defenseIV = 5, + .speedIV = 5, + .spAttackIV = 5, + .spDefenseIV = 5, + .abilityNum = 0, + .personality = 0x0, + .nickname = __("ナマズン$$$$$$$"), + .friendship = 255 + }, + } + }, + [2] = { + .name = __("メイコ$$$$$ "), + .facilityClass = FACILITY_CLASS_SCHOOL_KID_F, + .unused = 0x1, + .speechBefore = { EC_WORD_SHINE, EC_WORD_POKEMON, EC_WORD_RELEASE, EC_WORD_WAS, EC_MOVE2(FRUSTRATION), EC_WORD_WITHOUT }, + .speechWin = { EC_WORD_SHINE, EC_WORD_POKEMON, EC_WORD_TO_HER, EC_MOVE2(PRESENT), EC_WORD_KNOWS, EC_WORD_WITHOUT }, + .speechLose = { EC_WORD_THAT, EC_WORD_ABOVE, EC_WORD_LOST, EC_WORD_STORES, EC_WORD_JOKING, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS }, + .speechAfter = { EC_WORD_ENTERTAINING, EC_WORD_NONE, EC_WORD_HEY_QUES, EC_WORD_ALMOST, EC_WORD_EXCL, 0xFFFF }, + .mons = { + [0] = NULL_BATTLE_TOWER_POKEMON, + [1] = NULL_BATTLE_TOWER_POKEMON, + [2] = NULL_BATTLE_TOWER_POKEMON, + [3] = { + .species = SPECIES_DELCATTY, + .heldItem = ITEM_LUM_BERRY, + .moves = { MOVE_SING, MOVE_BODY_SLAM, MOVE_SHADOW_BALL, MOVE_IRON_TAIL }, + .level = 0, + .ppBonuses = 0x0, + .hpEV = 0, + .attackEV = 255, + .defenseEV = 0, + .speedEV = 255, + .spAttackEV = 0, + .spDefenseEV = 0, + .otId = 0x10000000, + .hpIV = 5, + .attackIV = 5, + .defenseIV = 5, + .speedIV = 5, + .spAttackIV = 5, + .spDefenseIV = 5, + .abilityNum = 0, + .personality = 0x3, + .nickname = __("エネコロロ$$$$$$"), + .friendship = 255 + }, + [4] = { + .species = SPECIES_ROSELIA, + .heldItem = ITEM_LEFTOVERS, + .moves = { MOVE_GIGA_DRAIN, MOVE_GRASS_WHISTLE, MOVE_TOXIC, MOVE_LEECH_SEED }, + .level = 0, + .ppBonuses = 0x0, + .hpEV = 255, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 255, + .spDefenseEV = 0, + .otId = 0x10000000, + .hpIV = 5, + .attackIV = 5, + .defenseIV = 5, + .speedIV = 5, + .spAttackIV = 5, + .spDefenseIV = 5, + .abilityNum = 1, + .personality = 0x6, + .nickname = __("ロゼリア$$$$$$$"), + .friendship = 255 + }, + [5] = { + .species = SPECIES_BEAUTIFLY, + .heldItem = ITEM_BRIGHT_POWDER, + .moves = { MOVE_SILVER_WIND, MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_PSYCHIC }, + .level = 0, + .ppBonuses = 0x0, + .hpEV = 100, + .attackEV = 200, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 200, + .spDefenseEV = 0, + .otId = 0x10000000, + .hpIV = 5, + .attackIV = 5, + .defenseIV = 5, + .speedIV = 5, + .spAttackIV = 5, + .spDefenseIV = 5, + .abilityNum = 0, + .personality = 0x6, + .nickname = __("アゲハント$$$$$$"), + .friendship = 255 + }, + } + }, + [3] = { + .name = __("ピエール$$$$ "), + .facilityClass = FACILITY_CLASS_GENTLEMAN, + .unused = 0x1, + .speechBefore = { EC_WORD_SHE_WAS, EC_WORD_NO_1, EC_WORD_STRONG, EC_WORD_UNCLE, EC_WORD_THERE, EC_WORD_EXCL }, + .speechWin = { EC_WORD_HAHAHA, EC_WORD_TEACHER, EC_WORD_BECOMES, EC_WORD_GIVE, EC_WORD_IS_IT_QUES, 0xFFFF }, + .speechLose = { EC_WORD_OUTSIDE, EC_WORD_UNCLE, EC_WORD_SURPRISE, EC_WORD_THESE, EC_WORD_HEY_QUES, EC_WORD_ELLIPSIS_EXCL }, + .speechAfter = { EC_WORD_HE_S, EC_WORD_NO_1, EC_WORD_STRONG, EC_WORD_CHILDREN, EC_WORD_CAN_T, EC_WORD_EXCL_EXCL }, + .mons = { + [0] = NULL_BATTLE_TOWER_POKEMON, + [1] = NULL_BATTLE_TOWER_POKEMON, + [2] = NULL_BATTLE_TOWER_POKEMON, + [3] = { + .species = SPECIES_MAWILE, + .heldItem = ITEM_BRIGHT_POWDER, + .moves = { MOVE_CRUNCH, MOVE_FLAMETHROWER, MOVE_THUNDER_PUNCH, MOVE_COMET_PUNCH }, + .level = 0, + .ppBonuses = 0x0, + .hpEV = 0, + .attackEV = 0, + .defenseEV = 100, + .speedEV = 0, + .spAttackEV = 255, + .spDefenseEV = 155, + .otId = 0x10000000, + .hpIV = 5, + .attackIV = 5, + .defenseIV = 5, + .speedIV = 5, + .spAttackIV = 5, + .spDefenseIV = 5, + .abilityNum = 1, + .personality = 0x0, + .nickname = __("クチート$$$$$$$"), + .friendship = 255 + }, + [4] = { + .species = SPECIES_SHARPEDO, + .heldItem = ITEM_SCOPE_LENS, + .moves = { MOVE_SURF, MOVE_CRUNCH, MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE }, + .level = 0, + .ppBonuses = 0x0, + .hpEV = 255, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 255, + .spDefenseEV = 0, + .otId = 0x10000000, + .hpIV = 5, + .attackIV = 5, + .defenseIV = 5, + .speedIV = 5, + .spAttackIV = 5, + .spDefenseIV = 5, + .abilityNum = 0, + .personality = 0x96, + .nickname = __("サメハダー$$$$$$"), + .friendship = 255 + }, + [5] = { + .species = SPECIES_BANETTE, + .heldItem = ITEM_LUM_BERRY, + .moves = { MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_THUNDERBOLT, MOVE_WILL_O_WISP }, + .level = 0, + .ppBonuses = 0x0, + .hpEV = 255, + .attackEV = 0, + .defenseEV = 0, + .speedEV = 0, + .spAttackEV = 255, + .spDefenseEV = 0, + .otId = 0x10000000, + .hpIV = 5, + .attackIV = 5, + .defenseIV = 5, + .speedIV = 5, + .spAttackIV = 5, + .spDefenseIV = 5, + .abilityNum = 0, + .personality = 0x96, + .nickname = __("ジュペッタ$$$$$$"), + .friendship = 255 + }, + } + }, +}; static u8 sub_81D38D4(void) { return (gSaveBlock1Ptr->trainerHill.unused + 1) % 256; } -static bool32 Struct_Unk81D38FC_ValidateChecksum(struct Unk81D38FC *arg0) +static bool32 Struct_EReaderTrainerHillTrainer_ValidateChecksum(struct EReaderTrainerHillTrainer *arg0) { int checksum = CalcByteArraySum((u8 *)arg0, 0x270); if (checksum != arg0->checksum) @@ -58,17 +409,17 @@ bool8 EReader_IsReceivedDataValid(struct EReaderTrainerHillSet *buffer) { u32 i; u32 checksum; - int var0 = buffer->unk_0; + int var0 = buffer->count; if (var0 < 1 || var0 > 8) return FALSE; for (i = 0; i < var0; i++) { - if (!Struct_Unk81D38FC_ValidateChecksum(&buffer->unk_8[i])) + if (!Struct_EReaderTrainerHillTrainer_ValidateChecksum(&buffer->unk_8[i])) return FALSE; } - checksum = CalcByteArraySum((u8 *)buffer->unk_8, var0 * sizeof(struct Unk81D38FC)); + checksum = CalcByteArraySum((u8 *)buffer->unk_8, var0 * sizeof(struct EReaderTrainerHillTrainer)); if (checksum != buffer->checksum) return FALSE; @@ -78,7 +429,7 @@ bool8 EReader_IsReceivedDataValid(struct EReaderTrainerHillSet *buffer) static bool32 TrainerHill_VerifyChecksum(struct EReaderTrainerHillSet *buffer) { u32 checksum; - int var0 = buffer->unk_0; + int var0 = buffer->count; if (var0 < 1 || var0 > 8) return FALSE; @@ -89,38 +440,39 @@ static bool32 TrainerHill_VerifyChecksum(struct EReaderTrainerHillSet *buffer) return TRUE; } -static bool32 TryWriteTrainerHill_r(struct EReaderTrainerHillSet *arg0, struct Unk81D3998 *buffer2) +static bool32 TryWriteTrainerHill_r(struct EReaderTrainerHillSet *ttdata, struct TrHillTag *buffer2) { int i; + AGB_ASSERT_EX(ttdata->dummy == 0, "cereader_tool.c", 450); + AGB_ASSERT_EX(ttdata->id == 0, "cereader_tool.c", 452); + memset(buffer2, 0, 0x1000); - buffer2->unk_000 = arg0->unk_0; - buffer2->unk_001 = sub_81D38D4(); - buffer2->unk_002 = (arg0->unk_0 + 1) / 2; + buffer2->unkField_0 = ttdata->count; + buffer2->unused1 = sub_81D38D4(); + buffer2->numFloors = (ttdata->count + 1) / 2; - for (i = 0; i < arg0->unk_0; i++) + for (i = 0; i < ttdata->count; i++) { if (!(i & 1)) { - buffer2->unk_008[i / 2].unk_000[0] = arg0->unk_8[i].unk0; - memcpy(buffer2->unk_008[i / 2].unk_294, arg0->unk_8[i].unk14C, 0x124); - memcpy(buffer2->unk_008[i / 2].unk_004, arg0->unk_8[i].unk4, 0x148); + buffer2->floors[i / 2].unk0 = ttdata->unk_8[i].unk0; + buffer2->floors[i / 2].display = ttdata->unk_8[i].unk14C; + buffer2->floors[i / 2].trainers[0] = ttdata->unk_8[i].unk4; } else { - buffer2->unk_008[i / 2].unk_000[1] = arg0->unk_8[i].unk0; - memcpy(buffer2->unk_008[i / 2].unk_14C, arg0->unk_8[i].unk4, 0x148); + buffer2->floors[i / 2].unk1 = ttdata->unk_8[i].unk0; + buffer2->floors[i / 2].trainers[1] = ttdata->unk_8[i].unk4; } } if (i & 1) { - u8 * dest = buffer2->unk_008[i / 2].unk_14C; - const u8 (* src)[0x148] = gUnknown_08625B6C; - memcpy(dest, src[i / 2], 0x148); + buffer2->floors[i / 2].trainers[1] = sTrainerHillTrainerTemplates_JP[i / 2]; } - buffer2->checksum = CalcByteArraySum((u8 *)buffer2->unk_008, sizeof(struct Unk81D3998) - offsetof(struct Unk81D3998, unk_008)); + buffer2->checksum = CalcByteArraySum((u8 *)buffer2->floors, 4 * sizeof(struct TrHillFloor)); if (TryWriteSpecialSaveSection(SECTOR_ID_TRAINER_HILL, (u8 *)buffer2) != 1) return FALSE; @@ -129,7 +481,7 @@ static bool32 TryWriteTrainerHill_r(struct EReaderTrainerHillSet *arg0, struct U bool32 TryWriteTrainerHill(struct EReaderTrainerHillSet *arg0) { - struct Unk81D3998 *var0 = AllocZeroed(0x1000); + void *var0 = AllocZeroed(0x1000); bool32 result = TryWriteTrainerHill_r(arg0, var0); Free(var0); return result; @@ -163,20 +515,20 @@ bool32 ReadTrainerHillAndValidate(void) return result; } -static int unref_sub_81D3B54(int arg0, u32 *arg1) +int EReader_Send(int arg0, u32 *arg1) { int result; u16 var0; int var1; - sub_81D41A0(); + EReaderHelper_SaveRegsState(); while (1) { sub_81D4170(); if (gUnknown_030012E2 & 2) gShouldAdvanceLinkState = 2; - var1 = sub_81D3D70(1, arg0, arg1, NULL); + var1 = EReaderHandleTransfer(1, arg0, arg1, NULL); gUnknown_030012E4 = var1; if ((gUnknown_030012E4 & 0x13) == 0x10) { @@ -202,24 +554,24 @@ static int unref_sub_81D3B54(int arg0, u32 *arg1) } CpuFill32(0, &gUnknown_030012C8, sizeof(struct Unknown030012C8)); - sub_81D41F4(); + EReaderHelper_RestoreRegsState(); return result; } -static int unref_sub_81D3BE8(u32 *arg0) +int EReader_Recv(u32 *arg0) { int result; u16 var0; int var1; - sub_81D41A0(); + EReaderHelper_SaveRegsState(); while (1) { sub_81D4170(); if (gUnknown_030012E2 & 2) gShouldAdvanceLinkState = 2; - var1 = sub_81D3D70(0, 0, NULL, arg0); + var1 = EReaderHandleTransfer(0, 0, NULL, arg0); gUnknown_030012E4 = var1; if ((gUnknown_030012E4 & 0x13) == 0x10) { @@ -245,7 +597,7 @@ static int unref_sub_81D3BE8(u32 *arg0) } CpuFill32(0, &gUnknown_030012C8, sizeof(struct Unknown030012C8)); - sub_81D41F4(); + EReaderHelper_RestoreRegsState(); return result; } @@ -285,7 +637,7 @@ static void sub_81D3D34(void) gUnknown_030012E8 = 0; } -int sub_81D3D70(u8 arg0, u32 arg1, u32 *arg2, u32 *arg3) +int EReaderHandleTransfer(u8 arg0, u32 arg1, u32 *arg2, u32 *arg3) { switch (gUnknown_030012C8.unk0[1]) { @@ -519,7 +871,7 @@ static void sub_81D4170(void) gUnknown_030012E0 = keysMask; } -void sub_81D41A0(void) +void EReaderHelper_SaveRegsState(void) { gUnknown_030012EC = REG_IME; gUnknown_030012EE = REG_IE; @@ -528,7 +880,7 @@ void sub_81D41A0(void) gUnknown_030012F4 = REG_RCNT; } -void sub_81D41F4(void) +void EReaderHelper_RestoreRegsState(void) { REG_IME = gUnknown_030012EC; REG_IE = gUnknown_030012EE; diff --git a/src/ereader_screen.c b/src/ereader_screen.c index 98f0d9b8c..13e964224 100755 --- a/src/ereader_screen.c +++ b/src/ereader_screen.c @@ -49,7 +49,7 @@ static void sub_81D4D50(struct Unk03006370 *arg0, int arg1, u32 *arg2) REG_IME = 0; gIntrTable[1] = sub_81D3FAC; gIntrTable[2] = sub_81D3F9C; - sub_81D41A0(); + EReaderHelper_SaveRegsState(); sub_81D4238(); REG_IE |= INTR_FLAG_VCOUNT; REG_IME = backupIME; @@ -63,7 +63,7 @@ static void sub_81D4DB8(struct Unk03006370 *arg0) volatile u16 backupIME = REG_IME; REG_IME = 0; sub_81D4238(); - sub_81D41F4(); + EReaderHelper_RestoreRegsState(); RestoreSerialTimer3IntrHandlers(); REG_IME = backupIME; } @@ -71,7 +71,7 @@ static void sub_81D4DB8(struct Unk03006370 *arg0) static u8 sub_81D4DE8(struct Unk03006370 *arg0) { u8 var0 = 0; - arg0->unk0 = sub_81D3D70(1, arg0->unk4, arg0->unk8, NULL); + arg0->unk0 = EReaderHandleTransfer(1, arg0->unk4, arg0->unk8, NULL); if ((arg0->unk0 & 0x13) == 0x10) var0 = 1; diff --git a/src/event_obj_lock.c b/src/event_obj_lock.c index 566b4931d..22a29fd5d 100644 --- a/src/event_obj_lock.c +++ b/src/event_obj_lock.c @@ -92,7 +92,7 @@ void ScriptUnfreezeEventObjects(void) { u8 playerObjectId = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0); EventObjectClearHeldMovementIfFinished(&gEventObjects[playerObjectId]); - sub_80D338C(); + ScriptMovement_UnfreezeEventObjects(); UnfreezeEventObjects(); } @@ -104,7 +104,7 @@ void sub_8098524(void) EventObjectClearHeldMovementIfFinished(&gEventObjects[gSelectedEventObject]); playerObjectId = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0); EventObjectClearHeldMovementIfFinished(&gEventObjects[playerObjectId]); - sub_80D338C(); + ScriptMovement_UnfreezeEventObjects(); UnfreezeEventObjects(); } diff --git a/src/fire.c b/src/fire.c index 2998d46ca..fdbfb234e 100644 --- a/src/fire.c +++ b/src/fire.c @@ -949,7 +949,7 @@ static u16 sub_8109930(u8 spriteId) { u16 var1 = gSprites[spriteId].pos1.y + gSprites[spriteId].pos2.y + gSprites[spriteId].centerToCornerVecY; - if (GetBattlerSide(gBattleAnimAttacker) == 0) + if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) { var1 = ((var1 << 16) + 0x4A0000) >> 16; } @@ -1059,7 +1059,7 @@ static void sub_8109AFC(struct Sprite *sprite) StartSpriteAnim(sprite, gBattleAnimArgs[2]); sprite->data[7] = gBattleAnimArgs[2]; - if (GetBattlerSide(gBattleAnimAttacker) != 0) + if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) { sprite->data[4] = 4; } @@ -1073,7 +1073,7 @@ static void sub_8109AFC(struct Sprite *sprite) break; case 1: sprite->data[1] += 192; - if (GetBattlerSide(gBattleAnimAttacker) != 0) + if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) { sprite->pos2.y = -(sprite->data[1] >> 8); } @@ -735,7 +735,7 @@ void AnimSwirlingSnowball_Step2(struct Sprite *sprite) void AnimSwirlingSnowball_Step3(struct Sprite *sprite) { s16 tempVar; - tempVar = GetBattlerSide(gBattleAnimAttacker) != 0 ? 20 : -20; + tempVar = GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER ? 20 : -20; if (sprite->data[5] <= 31) { @@ -1190,12 +1190,12 @@ void InitPoisonGasCloudAnim(struct Sprite *sprite) if (GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2) < GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2)) sprite->data[7] = 0x8000; - if (!(gBattlerPositions[gBattleAnimTarget] & 1)) + if ((gBattlerPositions[gBattleAnimTarget] & BIT_SIDE) == B_SIDE_PLAYER) { gBattleAnimArgs[1] = -gBattleAnimArgs[1]; gBattleAnimArgs[3] = -gBattleAnimArgs[3]; - if ((sprite->data[7] & 0x8000) && !(gBattlerPositions[gBattleAnimAttacker] & 1)) + if ((sprite->data[7] & 0x8000) && (gBattlerPositions[gBattleAnimAttacker] & BIT_SIDE) == B_SIDE_PLAYER) sprite->subpriority = gSprites[GetAnimBattlerSpriteId(ANIM_TARGET)].subpriority + 1; sprite->data[6] = 1; diff --git a/src/match_call.c b/src/match_call.c index 172831792..3ed684938 100644 --- a/src/match_call.c +++ b/src/match_call.c @@ -1290,7 +1290,7 @@ static bool32 sub_81963F0(u8 taskId) sub_81973A4(); playerObjectId = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0); EventObjectClearHeldMovementIfFinished(&gEventObjects[playerObjectId]); - sub_80D338C(); + ScriptMovement_UnfreezeEventObjects(); UnfreezeEventObjects(); ScriptContext2_Disable(); } diff --git a/src/mon_markings.c b/src/mon_markings.c index f8b128045..f4d6b3818 100644 --- a/src/mon_markings.c +++ b/src/mon_markings.c @@ -350,7 +350,7 @@ void sub_811FAA4(u8 markings, s16 x, s16 y) u16 i; sMenu->cursorPos = 0; sMenu->markings = markings; - for (i = 0; i < 4; i++) + for (i = 0; i < NUM_MON_MARKINGS; i++) sMenu->markingsArray[i] = (sMenu->markings >> i) & 1; sub_811FC80(x, y, sMenu->baseTileTag, sMenu->basePaletteTag); } @@ -371,7 +371,7 @@ void sub_811FAF8(void) DestroySprite(sMenu->menuWindowSprites[i]); sMenu->menuWindowSprites[i] = NULL; } - for (i = 0; i < 4; i++) + for (i = 0; i < NUM_MON_MARKINGS; i++) { if (!sMenu->menuMarkingSprites[i]) return; @@ -422,7 +422,7 @@ bool8 sub_811FBA4(void) { case 4: sMenu->markings = 0; - for (i = 0; i < 4; i++) + for (i = 0; i < NUM_MON_MARKINGS; i++) sMenu->markings |= sMenu->markingsArray[i] << i; return FALSE; case 5: @@ -498,7 +498,7 @@ static void sub_811FC80(s16 x, s16 y, u16 baseTileTag, u16 basePaletteTag) sprTemplate.callback = sub_811FF40; sprTemplate.oam = &gUnknown_0859EE84; - for (i = 0; i < 4; i++) + for (i = 0; i < NUM_MON_MARKINGS; i++) { spriteId = CreateSprite(&sprTemplate, x + 32, y + 16 + 16 * i, 0); if (spriteId != MAX_SPRITES) diff --git a/src/mossdeep_gym.c b/src/mossdeep_gym.c index d8adbe0c6..880780638 100644 --- a/src/mossdeep_gym.c +++ b/src/mossdeep_gym.c @@ -55,7 +55,7 @@ void FinishMossdeepGymTiles(void) id = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0); EventObjectClearHeldMovementIfFinished(&gEventObjects[id]); - sub_80D338C(); + ScriptMovement_UnfreezeEventObjects(); } u16 MossdeepGym_MoveEvents(u8 arg0) diff --git a/src/move_relearner.c b/src/move_relearner.c index 0b0b4a5aa..867c6c995 100644 --- a/src/move_relearner.c +++ b/src/move_relearner.c @@ -154,7 +154,7 @@ static EWRAM_DATA struct { u8 state; u8 heartSpriteIds[16]; /*0x001*/ - u16 movesToLearn[4]; /*0x012*/ + u16 movesToLearn[MAX_MON_MOVES]; /*0x012*/ u8 filler1A[0x44 - 0x1A]; /*0x01A*/ u8 partyMon; /*0x044*/ u8 moveSlot; /*0x045*/ diff --git a/src/new_game.c b/src/new_game.c index b4d9ba9b3..1021ea96c 100644 --- a/src/new_game.c +++ b/src/new_game.c @@ -81,7 +81,7 @@ u32 GetTrainerId(u8 *trainerId) void CopyTrainerId(u8 *dst, u8 *src) { s32 i; - for (i = 0; i < 4; i++) + for (i = 0; i < TRAINER_ID_LENGTH; i++) dst[i] = src[i]; } diff --git a/src/overworld.c b/src/overworld.c index cefbd8159..51d9ad9b5 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -2435,7 +2435,7 @@ static void UpdateAllLinkPlayers(u16 *keys, s32 selfId) struct TradeRoomPlayer trainer; s32 i; - for (i = 0; i < 4; i++) + for (i = 0; i < MAX_LINK_PLAYERS; i++) { u8 key = keys[i]; u16 setFacing = FACING_NONE; @@ -3026,7 +3026,7 @@ static s32 sub_80878E4(u8 linkPlayerId) static u8 GetLinkPlayerIdAt(s16 x, s16 y) { u8 i; - for (i = 0; i < 4; i++) + for (i = 0; i < MAX_LINK_PLAYERS; i++) { if (gLinkPlayerEventObjects[i].active && (gLinkPlayerEventObjects[i].movementMode == 0 || gLinkPlayerEventObjects[i].movementMode == 2)) diff --git a/src/pokeblock.c b/src/pokeblock.c index 0d8469132..30e630d9a 100644 --- a/src/pokeblock.c +++ b/src/pokeblock.c @@ -3,7 +3,6 @@ #include "battle.h" #include "battle_controllers.h" #include "battle_message.h" -#include "berry.h" #include "bg.h" #include "decompress.h" #include "event_data.h" @@ -30,6 +29,7 @@ #include "task.h" #include "text.h" #include "text_window.h" +#include "constants/berry.h" #include "constants/items.h" #include "constants/songs.h" #include "constants/rgb.h" diff --git a/src/pokemon.c b/src/pokemon.c index f5e79243e..4833f2db6 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -2989,11 +2989,11 @@ u16 MonTryLearningNewMove(struct Pokemon *mon, bool8 firstMove) void DeleteFirstMoveAndGiveMoveToMon(struct Pokemon *mon, u16 move) { s32 i; - u16 moves[4]; - u8 pp[4]; + u16 moves[MAX_MON_MOVES]; + u8 pp[MAX_MON_MOVES]; u8 ppBonuses; - for (i = 0; i < 3; i++) + for (i = 0; i < MAX_MON_MOVES - 1; i++) { moves[i] = GetMonData(mon, MON_DATA_MOVE2 + i, NULL); pp[i] = GetMonData(mon, MON_DATA_PP2 + i, NULL); @@ -3016,11 +3016,11 @@ void DeleteFirstMoveAndGiveMoveToMon(struct Pokemon *mon, u16 move) void DeleteFirstMoveAndGiveMoveToBoxMon(struct BoxPokemon *boxMon, u16 move) { s32 i; - u16 moves[4]; - u8 pp[4]; + u16 moves[MAX_MON_MOVES]; + u8 pp[MAX_MON_MOVES]; u8 ppBonuses; - for (i = 0; i < 3; i++) + for (i = 0; i < MAX_MON_MOVES - 1; i++) { moves[i] = GetBoxMonData(boxMon, MON_DATA_MOVE2 + i, NULL); pp[i] = GetBoxMonData(boxMon, MON_DATA_PP2 + i, NULL); @@ -3197,13 +3197,13 @@ s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *de if ((sideStatus & SIDE_STATUS_REFLECT) && gCritMultiplier == 1) { - if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE) && CountAliveMonsInBattle(2) == 2) + if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE) && CountAliveMonsInBattle(BATTLE_ALIVE_DEF_SIDE) == 2) damage = 2 * (damage / 3); else damage /= 2; } - if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE) && gBattleMoves[move].target == 8 && CountAliveMonsInBattle(2) == 2) + if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE) && gBattleMoves[move].target == 8 && CountAliveMonsInBattle(BATTLE_ALIVE_DEF_SIDE) == 2) damage /= 2; // moves always do at least 1 damage. @@ -3244,13 +3244,13 @@ s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *de if ((sideStatus & SIDE_STATUS_LIGHTSCREEN) && gCritMultiplier == 1) { - if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE) && CountAliveMonsInBattle(2) == 2) + if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE) && CountAliveMonsInBattle(BATTLE_ALIVE_DEF_SIDE) == 2) damage = 2 * (damage / 3); else damage /= 2; } - if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE) && gBattleMoves[move].target == 8 && CountAliveMonsInBattle(2) == 2) + if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE) && gBattleMoves[move].target == 8 && CountAliveMonsInBattle(BATTLE_ALIVE_DEF_SIDE) == 2) damage /= 2; // are effects of weather negated with cloud nine or air lock @@ -3304,21 +3304,21 @@ u8 CountAliveMonsInBattle(u8 caseId) switch (caseId) { case BATTLE_ALIVE_EXCEPT_ACTIVE: - for (i = 0; i < 4; i++) + for (i = 0; i < MAX_BATTLERS_COUNT; i++) { if (i != gActiveBattler && !(gAbsentBattlerFlags & gBitTable[i])) retVal++; } break; case BATTLE_ALIVE_ATK_SIDE: - for (i = 0; i < 4; i++) + for (i = 0; i < MAX_BATTLERS_COUNT; i++) { if (GetBattlerSide(i) == GetBattlerSide(gBattlerAttacker) && !(gAbsentBattlerFlags & gBitTable[i])) retVal++; } break; case BATTLE_ALIVE_DEF_SIDE: - for (i = 0; i < 4; i++) + for (i = 0; i < MAX_BATTLERS_COUNT; i++) { if (GetBattlerSide(i) == GetBattlerSide(gBattlerTarget) && !(gAbsentBattlerFlags & gBitTable[i])) retVal++; @@ -6096,7 +6096,7 @@ u32 CanSpeciesLearnTMHM(u16 species, u8 tm) u8 GetMoveRelearnerMoves(struct Pokemon *mon, u16 *moves) { - u16 learnedMoves[4]; + u16 learnedMoves[MAX_MON_MOVES]; u8 numMoves = 0; u16 species = GetMonData(mon, MON_DATA_SPECIES, 0); u8 level = GetMonData(mon, MON_DATA_LEVEL, 0); @@ -6146,7 +6146,7 @@ u8 GetLevelUpMovesBySpecies(u16 species, u16 *moves) u8 GetNumberOfRelearnableMoves(struct Pokemon *mon) { - u16 learnedMoves[4]; + u16 learnedMoves[MAX_MON_MOVES]; u16 moves[20]; u8 numMoves = 0; u16 species = GetMonData(mon, MON_DATA_SPECIES2, 0); @@ -6683,7 +6683,7 @@ u8 sub_806EF08(u8 arg0) var = (arg0 != 0) ? 2 : 0; break; } - for (i = 0; i < 4; i++) + for (i = 0; i < MAX_LINK_PLAYERS; i++) { if (gLinkPlayers[i].id == (s16)(var)) break; @@ -6706,7 +6706,7 @@ u8 sub_806EF84(u8 arg0, u8 arg1) var = (arg0 != 0) ? 2 : 0; break; } - for (i = 0; i < 4; i++) + for (i = 0; i < MAX_LINK_PLAYERS; i++) { if (gLinkPlayers[i].id == (s16)(var)) break; diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index 79aac4b5e..932ed5b08 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -121,8 +121,8 @@ static EWRAM_DATA struct PokemonSummaryScreenData u8 metGame; // 0xB u32 pid; // 0xC u32 exp; // 0x10 - u16 moves[4]; // 0x14 - u8 pp[4]; // 0x1C + u16 moves[MAX_MON_MOVES]; // 0x14 + u8 pp[MAX_MON_MOVES]; // 0x1C u16 currentHP; // 0x20 u16 maxHP; // 0x22 u16 atk; // 0x24 diff --git a/src/recorded_battle.c b/src/recorded_battle.c index 9e03d57f6..432c5dbe6 100644 --- a/src/recorded_battle.c +++ b/src/recorded_battle.c @@ -37,8 +37,8 @@ struct PlayerInfo struct MovePp { - u16 moves[4]; - u8 pp[4]; + u16 moves[MAX_MON_MOVES]; + u8 pp[MAX_MON_MOVES]; }; struct RecordedBattleSave @@ -91,7 +91,7 @@ EWRAM_DATA static u32 sBattleFlags = 0; EWRAM_DATA static u32 sAI_Scripts = 0; EWRAM_DATA static struct Pokemon sSavedPlayerParty[PARTY_SIZE] = {0}; EWRAM_DATA static struct Pokemon sSavedOpponentParty[PARTY_SIZE] = {0}; -EWRAM_DATA static u16 sPlayerMonMoves[2][4] = {0}; +EWRAM_DATA static u16 sPlayerMonMoves[2][MAX_MON_MOVES] = {0}; EWRAM_DATA static struct PlayerInfo sPlayers[MAX_BATTLERS_COUNT] = {0}; EWRAM_DATA static u8 sUnknown_0203CCD0 = 0; EWRAM_DATA static u8 sRecordMixFriendName[PLAYER_NAME_LENGTH + 1] = {0}; @@ -766,11 +766,11 @@ void sub_818603C(u8 arg0) { if (sBattleRecords[battlerId][sRecordedBytesNo[battlerId]] == ACTION_MOVE_CHANGE) { - u8 ppBonuses[4]; - u8 array1[4]; - u8 array2[4]; + u8 ppBonuses[MAX_MON_MOVES]; + u8 array1[MAX_MON_MOVES]; + u8 array2[MAX_MON_MOVES]; struct MovePp movePp; - u8 array3[8]; + u8 array3[(MAX_MON_MOVES * 2)]; u8 var; RecordedBattle_GetBattlerAction(battlerId); diff --git a/src/scrcmd.c b/src/scrcmd.c index 0326a56a4..560784c47 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -1247,7 +1247,7 @@ bool8 ScrCmd_releaseall(struct ScriptContext *ctx) HideFieldMessageBox(); playerObjectId = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0); EventObjectClearHeldMovementIfFinished(&gEventObjects[playerObjectId]); - sub_80D338C(); + ScriptMovement_UnfreezeEventObjects(); UnfreezeEventObjects(); return FALSE; } @@ -1261,7 +1261,7 @@ bool8 ScrCmd_release(struct ScriptContext *ctx) EventObjectClearHeldMovementIfFinished(&gEventObjects[gSelectedEventObject]); playerObjectId = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0); EventObjectClearHeldMovementIfFinished(&gEventObjects[playerObjectId]); - sub_80D338C(); + ScriptMovement_UnfreezeEventObjects(); UnfreezeEventObjects(); return FALSE; } diff --git a/src/script_menu.c b/src/script_menu.c index b0e0ec920..c1dc2af63 100644 --- a/src/script_menu.c +++ b/src/script_menu.c @@ -121,109 +121,109 @@ const struct MenuAction MultichoiceList_024[] = {gText_Exit, NULL}, }; -const struct MenuAction MultichoiceList_025[] = +const struct MenuAction MultichoiceList_025[] = //Trick House Mechadoll 1, Question 1 { - {gUnknown_0827ECBC, NULL}, - {gUnknown_0827ECC3, NULL}, - {gUnknown_0827ECCD, NULL}, + {gTrickHouse_Mechadoll_Oddish, NULL}, + {gTrickHouse_Mechadoll_Poochyena, NULL}, + {gTrickHouse_Mechadoll_Taillow, NULL}, }; -const struct MenuAction MultichoiceList_026[] = +const struct MenuAction MultichoiceList_026[] = //Trick House Mechadoll 1, Question 2 { - {gUnknown_0827ECD5, NULL}, - {gUnknown_0827ECDD, NULL}, - {gUnknown_0827ECE3, NULL}, + {gTrickHouse_Mechadoll_Azurill, NULL}, + {gTrickHouse_Mechadoll_Lotad, NULL}, + {gTrickHouse_Mechadoll_Wingull, NULL}, }; -const struct MenuAction MultichoiceList_027[] = +const struct MenuAction MultichoiceList_027[] = //Trick House Mechadoll 1, Question 3 { - {gUnknown_0827ECEB, NULL}, - {gUnknown_0827ECF2, NULL}, - {gUnknown_0827ECF8, NULL}, + {gTrickHouse_Mechadoll_Dustox, NULL}, + {gTrickHouse_Mechadoll_Zubat, NULL}, + {gTrickHouse_Mechadoll_Nincada, NULL}, }; -const struct MenuAction MultichoiceList_028[] = +const struct MenuAction MultichoiceList_028[] = //Trick House Mechadoll 2, Question 1 { - {gUnknown_0827ED00, NULL}, - {gUnknown_0827ED06, NULL}, - {gUnknown_0827ED10, NULL}, + {gTrickHouse_Mechadoll_Ralts, NULL}, + {gTrickHouse_Mechadoll_Zigzagoon, NULL}, + {gTrickHouse_Mechadoll_Slakoth, NULL}, }; -const struct MenuAction MultichoiceList_029[] = +const struct MenuAction MultichoiceList_029[] = //Trick House Mechadoll 2, Question 2 { - {gUnknown_0827ED18, NULL}, - {gUnknown_0827ED22, NULL}, - {gUnknown_0827ED2C, NULL}, + {gTrickHouse_Mechadoll_Poochyena2, NULL}, + {gTrickHouse_Mechadoll_Shroomish, NULL}, + {gTrickHouse_Mechadoll_Zigzagoon2, NULL}, }; -const struct MenuAction MultichoiceList_030[] = +const struct MenuAction MultichoiceList_030[] = //Trick House Mechadoll 2, Question 3 { - {gUnknown_0827ED36, NULL}, - {gUnknown_0827ED40, NULL}, - {gUnknown_0827ED46, NULL}, + {gTrickHouse_Mechadoll_Poochyena3, NULL}, + {gTrickHouse_Mechadoll_Zubat2, NULL}, + {gTrickHouse_Mechadoll_Carvanha, NULL}, }; -const struct MenuAction MultichoiceList_031[] = +const struct MenuAction MultichoiceList_031[] = //Trick House Mechadoll 3, Question 1 { - {gUnknown_0827ED4F, NULL}, - {gUnknown_0827ED59, NULL}, - {gUnknown_0827ED65, NULL}, + {gTrickHouse_Mechadoll_BurnHeal, NULL}, + {gTrickHouse_Mechadoll_HarborMail, NULL}, + {gTrickHouse_Mechadoll_SamePrice, NULL}, }; -const struct MenuAction MultichoiceList_032[] = +const struct MenuAction MultichoiceList_032[] = //Trick House Mechadoll 3, Question 2 { - {gUnknown_0827ED70, NULL}, - {gUnknown_0827ED74, NULL}, - {gUnknown_0827ED78, NULL}, + {gTrickHouse_Mechadoll_60Yen, NULL}, + {gTrickHouse_Mechadoll_55Yen, NULL}, + {gTrickHouse_Mechadoll_Nothing, NULL}, }; -const struct MenuAction MultichoiceList_033[] = +const struct MenuAction MultichoiceList_033[] = //Trick House Mechadoll 3, Question 3 { - {gUnknown_0827ED80, NULL}, - {gUnknown_0827ED95, NULL}, - {gUnknown_0827EDAA, NULL}, + {gTrickHouse_Mechadoll_CostMore, NULL}, + {gTrickHouse_Mechadoll_CostLess, NULL}, + {gTrickHouse_Mechadoll_SamePrice2, NULL}, }; -const struct MenuAction MultichoiceList_034[] = +const struct MenuAction MultichoiceList_034[] = //Trick House Mechadoll 4, Question 1 { - {gUnknown_0827EDB5, NULL}, - {gUnknown_0827EDBA, NULL}, - {gUnknown_0827EDC1, NULL}, + {gTrickHouse_Mechadoll_Male, NULL}, + {gTrickHouse_Mechadoll_Female, NULL}, + {gTrickHouse_Mechadoll_Neither, NULL}, }; -const struct MenuAction MultichoiceList_035[] = +const struct MenuAction MultichoiceList_035[] = //Trick House Mechadoll 4, Question 2 { - {gUnknown_0827EDC9, NULL}, - {gUnknown_0827EDD5, NULL}, - {gUnknown_0827EDE4, NULL}, + {gTrickHouse_Mechadoll_ElderlyMen, NULL}, + {gTrickHouse_Mechadoll_ElderlyLadies, NULL}, + {gTrickHouse_Mechadoll_SameNumber, NULL}, }; -const struct MenuAction MultichoiceList_036[] = +const struct MenuAction MultichoiceList_036[] = //Trick House Mechadoll 4, Question 3 { - {gUnknown_0827EDF0, NULL}, - {gUnknown_0827EDF5, NULL}, - {gUnknown_0827EDF7, NULL}, + {gTrickHouse_Mechadoll_None, NULL}, + {gTrickHouse_Mechadoll_One, NULL}, + {gTrickHouse_Mechadoll_Two, NULL}, }; -const struct MenuAction MultichoiceList_037[] = +const struct MenuAction MultichoiceList_037[] = //Trick House Mechadoll 5, Question 1 { - {gUnknown_0827EDF9, NULL}, - {gUnknown_0827EDFB, NULL}, - {gUnknown_0827EDFD, NULL}, + {gTrickHouse_Mechadoll_Two2, NULL}, + {gTrickHouse_Mechadoll_Three, NULL}, + {gTrickHouse_Mechadoll_Four, NULL}, }; -const struct MenuAction MultichoiceList_038[] = +const struct MenuAction MultichoiceList_038[] = //Trick House Mechadoll 5, Question 2 { - {gUnknown_0827EDFF, NULL}, - {gUnknown_0827EE01, NULL}, - {gUnknown_0827EE03, NULL}, + {gTrickHouse_Mechadoll_Six, NULL}, + {gTrickHouse_Mechadoll_Seven, NULL}, + {gTrickHouse_Mechadoll_Eight, NULL}, }; -const struct MenuAction MultichoiceList_039[] = +const struct MenuAction MultichoiceList_039[] = //Trick House Mechadoll 5, Question 3 { - {gUnknown_0827EE05, NULL}, - {gUnknown_0827EE07, NULL}, - {gUnknown_0827EE09, NULL}, + {gTrickHouse_Mechadoll_Six2, NULL}, + {gTrickHouse_Mechadoll_Seven2, NULL}, + {gTrickHouse_Mechadoll_Eight2, NULL}, }; const struct MenuAction MultichoiceList_042[] = diff --git a/src/script_movement.c b/src/script_movement.c index 9fee9e060..03d6b10e8 100644 --- a/src/script_movement.c +++ b/src/script_movement.c @@ -3,20 +3,22 @@ #include "event_object_movement.h" #include "task.h" #include "util.h" +#include "constants/event_objects.h" +#include "constants/event_object_movement_constants.h" // static functions -static void sub_80D33AC(u8); -static u8 sub_80D33F4(void); -static bool8 sub_80D3408(u8, u8, const u8 *); -static u8 sub_80D3474(u8, u8); -static bool8 sub_80D3584(u8, u8); -static void sub_80D35DC(u8, u8, u8, const u8 *); -static void UnfreezeObjects(u8); -static void sub_80D3660(u8); -static void sub_80A2490(u8, u8, u8, const u8 *); +static void ScriptMovement_StartMoveObjects(u8 priority); +static u8 GetMoveObjectsTaskId(void); +static bool8 ScriptMovement_TryAddNewMovement(u8 taskId, u8 eventObjId, const u8 *movementScript); +static u8 GetMovementScriptIdFromEventObjectId(u8 taskId, u8 eventObjId); +static bool8 IsMovementScriptFinished(u8 taskId, u8 moveScrId); +static void ScriptMovement_AddNewMovement(u8 taskId, u8 moveScrId, u8 eventObjId, const u8 *movementScript); +static void ScriptMovement_UnfreezeActiveObjects(u8 taskId); +static void ScriptMovement_MoveObjects(u8 taskId); +static void ScriptMovement_TakeStep(u8 taskId, u8 moveScrId, u8 eventObjId, const u8 *movementScript); // EWRAM_DATA -static EWRAM_DATA const u8 *gUnknown_02039D90[16] = {0}; +static EWRAM_DATA const u8 *gMovementScripts[EVENT_OBJECTS_COUNT] = {0}; // text bool8 ScriptMovement_StartObjectMovementScript(u8 localId, u8 mapNum, u8 mapGroup, const u8 *movementScript) @@ -25,207 +27,207 @@ bool8 ScriptMovement_StartObjectMovementScript(u8 localId, u8 mapNum, u8 mapGrou if (TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjId)) return TRUE; - if (!FuncIsActiveTask(sub_80D3660)) - sub_80D33AC(50); - return sub_80D3408(sub_80D33F4(), eventObjId, movementScript); + if (!FuncIsActiveTask(ScriptMovement_MoveObjects)) + ScriptMovement_StartMoveObjects(50); + return ScriptMovement_TryAddNewMovement(GetMoveObjectsTaskId(), eventObjId, movementScript); } -bool8 ScriptMovement_IsObjectMovementFinished(u8 localId, u8 mapNum, u8 mapBank) +bool8 ScriptMovement_IsObjectMovementFinished(u8 localId, u8 mapNum, u8 mapGroup) { u8 eventObjId; - u8 r4; - u8 r1; + u8 taskId; + u8 moveScrId; - if (TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapBank, &eventObjId)) + if (TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjId)) return TRUE; - r4 = sub_80D33F4(); - r1 = sub_80D3474(r4, eventObjId); - if (r1 == 16) + taskId = GetMoveObjectsTaskId(); + moveScrId = GetMovementScriptIdFromEventObjectId(taskId, eventObjId); + if (moveScrId == EVENT_OBJECTS_COUNT) return TRUE; - return sub_80D3584(r4, r1); + return IsMovementScriptFinished(taskId, moveScrId); } -void sub_80D338C(void) +void ScriptMovement_UnfreezeEventObjects(void) { u8 taskId; - taskId = sub_80D33F4(); + taskId = GetMoveObjectsTaskId(); if (taskId != 0xFF) { - UnfreezeObjects(taskId); + ScriptMovement_UnfreezeActiveObjects(taskId); DestroyTask(taskId); } } - -static void sub_80D33AC(u8 priority) +static void ScriptMovement_StartMoveObjects(u8 priority) { u8 taskId; u8 i; - taskId = CreateTask(sub_80D3660, priority); - for (i = 1; i < 16; i++) + taskId = CreateTask(ScriptMovement_MoveObjects, priority); + + for (i = 1; i < NUM_TASK_DATA; i++) gTasks[taskId].data[i] = 0xFFFF; } -static u8 sub_80D33F4(void) +static u8 GetMoveObjectsTaskId(void) { - return FindTaskIdByFunc(sub_80D3660); + return FindTaskIdByFunc(ScriptMovement_MoveObjects); } -static bool8 sub_80D3408(u8 taskId, u8 eventObjId, const u8 *movementScript) +static bool8 ScriptMovement_TryAddNewMovement(u8 taskId, u8 eventObjId, const u8 *movementScript) { - u8 r4; + u8 moveScrId; - r4 = sub_80D3474(taskId, eventObjId); - if (r4 != 16) + moveScrId = GetMovementScriptIdFromEventObjectId(taskId, eventObjId); + if (moveScrId != EVENT_OBJECTS_COUNT) { - if (sub_80D3584(taskId, r4) == 0) + if (IsMovementScriptFinished(taskId, moveScrId) == 0) { return TRUE; } else { - sub_80D35DC(taskId, r4, eventObjId, movementScript); + ScriptMovement_AddNewMovement(taskId, moveScrId, eventObjId, movementScript); return FALSE; } } - r4 = sub_80D3474(taskId, 0xFF); - if (r4 == 16) + moveScrId = GetMovementScriptIdFromEventObjectId(taskId, EVENT_OBJ_ID_PLAYER); + if (moveScrId == EVENT_OBJECTS_COUNT) { return TRUE; } else { - sub_80D35DC(taskId, r4, eventObjId, movementScript); + ScriptMovement_AddNewMovement(taskId, moveScrId, eventObjId, movementScript); return FALSE; } } -static u8 sub_80D3474(u8 taskId, u8 b) +static u8 GetMovementScriptIdFromEventObjectId(u8 taskId, u8 eventObjId) { - u8 *ptr; + u8 *moveScriptId; u8 i; - ptr = (u8 *)&gTasks[taskId].data[1]; - for (i = 0; i < 16; i++, ptr++) + moveScriptId = (u8 *)&gTasks[taskId].data[1]; + for (i = 0; i < EVENT_OBJECTS_COUNT; i++, moveScriptId++) { - if (*ptr == b) + if (*moveScriptId == eventObjId) return i; } - return 16; + return EVENT_OBJECTS_COUNT; } -static void sub_80D34B0(u8 taskId, u8 b, u8 **c) +static void LoadEventObjectIdPtrFromMovementScript(u8 taskId, u8 moveScrId, u8 **pEventObjId) { u8 i; - *c = (u8 *)&gTasks[taskId].data[1]; - for (i = 0; i < b; i++, (*c)++) + *pEventObjId = (u8 *)&gTasks[taskId].data[1]; + for (i = 0; i < moveScrId; i++, (*pEventObjId)++) ; } -static void sub_80D34E4(u8 taskId, u8 b, u8 c) +static void SetEventObjectIdAtMovementScript(u8 taskId, u8 moveScrId, u8 eventObjId) { u8 *ptr; - sub_80D34B0(taskId, b, &ptr); - *ptr = c; //what is this supposed to do? + LoadEventObjectIdPtrFromMovementScript(taskId, moveScrId, &ptr); + *ptr = eventObjId; } -static void sub_80D3508(u8 taskId, u8 b, u8 *c) +static void LoadEventObjectIdFromMovementScript(u8 taskId, u8 moveScrId, u8 *eventObjId) { u8 *ptr; - sub_80D34B0(taskId, b, &ptr); - *c = *ptr; + LoadEventObjectIdPtrFromMovementScript(taskId, moveScrId, &ptr); + *eventObjId = *ptr; } -static void sub_80D352C(u8 a, u8 b) +static void ClearMovementScriptFinished(u8 taskId, u8 moveScrId) { - u16 var = ~gBitTable[b]; + u16 mask = ~gBitTable[moveScrId]; - gTasks[a].data[0] &= var; + gTasks[taskId].data[0] &= mask; } -static void sub_80D355C(u8 taskId, u8 b) +static void SetMovementScriptFinished(u8 taskId, u8 moveScrId) { - gTasks[taskId].data[0] |= gBitTable[b]; + gTasks[taskId].data[0] |= gBitTable[moveScrId]; } -static bool8 sub_80D3584(u8 taskId, u8 b) +static bool8 IsMovementScriptFinished(u8 taskId, u8 moveScrId) { - u16 var = (u16)gTasks[taskId].data[0] & gBitTable[b]; + u16 moveScriptFinished = (u16)gTasks[taskId].data[0] & gBitTable[moveScrId]; - if (var != 0) + if (moveScriptFinished != 0) return TRUE; else return FALSE; } -static void npc_obj_offscreen_culling_and_flag_update(u8 a, const u8 *movementScript) +static void SetMovementScript(u8 moveScrId, const u8 *movementScript) { - gUnknown_02039D90[a] = movementScript; + gMovementScripts[moveScrId] = movementScript; } -static const u8 *sub_80D35CC(u8 a) +static const u8 *GetMovementScript(u8 moveScrId) { - return gUnknown_02039D90[a]; + return gMovementScripts[moveScrId]; } -static void sub_80D35DC(u8 taskId, u8 b, u8 eventObjId, const u8 *movementScript) +static void ScriptMovement_AddNewMovement(u8 taskId, u8 moveScrId, u8 eventObjId, const u8 *movementScript) { - sub_80D352C(taskId, b); - npc_obj_offscreen_culling_and_flag_update(b, movementScript); - sub_80D34E4(taskId, b, eventObjId); + ClearMovementScriptFinished(taskId, moveScrId); + SetMovementScript(moveScrId, movementScript); + SetEventObjectIdAtMovementScript(taskId, moveScrId, eventObjId); } -static void UnfreezeObjects(u8 taskId) +static void ScriptMovement_UnfreezeActiveObjects(u8 taskId) { u8 *pEventObjId; u8 i; pEventObjId = (u8 *)&gTasks[taskId].data[1]; - for (i = 0; i < 16; i++, pEventObjId++) + for (i = 0; i < EVENT_OBJECTS_COUNT; i++, pEventObjId++) { if (*pEventObjId != 0xFF) UnfreezeEventObject(&gEventObjects[*pEventObjId]); } } -static void sub_80D3660(u8 taskId) +static void ScriptMovement_MoveObjects(u8 taskId) { u8 i; - u8 var; + u8 eventObjId; - for (i = 0; i < 16; i++) + for (i = 0; i < EVENT_OBJECTS_COUNT; i++) { - sub_80D3508(taskId, i, &var); - if (var != 0xFF) - sub_80A2490(taskId, i, var, sub_80D35CC(i)); + LoadEventObjectIdFromMovementScript(taskId, i, &eventObjId); + if (eventObjId != 0xFF) + ScriptMovement_TakeStep(taskId, i, eventObjId, GetMovementScript(i)); } } -static void sub_80A2490(u8 taskId, u8 b, u8 eventObjId, const u8 *d) +static void ScriptMovement_TakeStep(u8 taskId, u8 moveScrId, u8 eventObjId, const u8 *movementScript) { - u8 var; + u8 nextMoveActionId; if (EventObjectIsHeldMovementActive(&gEventObjects[eventObjId]) && !EventObjectClearHeldMovementIfFinished(&gEventObjects[eventObjId])) return; - var = *d; - if (var == 0xFE) + nextMoveActionId = *movementScript; + if (nextMoveActionId == MOVEMENT_ACTION_STEP_END) { - sub_80D355C(taskId, b); + SetMovementScriptFinished(taskId, moveScrId); FreezeEventObject(&gEventObjects[eventObjId]); } else { - if (!EventObjectSetHeldMovement(&gEventObjects[eventObjId], var)) + if (!EventObjectSetHeldMovement(&gEventObjects[eventObjId], nextMoveActionId)) { - d++; - npc_obj_offscreen_culling_and_flag_update(b, d); + movementScript++; + SetMovementScript(moveScrId, movementScript); } } } diff --git a/src/secret_base.c b/src/secret_base.c index ad9cceb47..d02011406 100644 --- a/src/secret_base.c +++ b/src/secret_base.c @@ -349,7 +349,7 @@ void SetPlayerSecretBase(void) u16 i; gSaveBlock1Ptr->secretBases[0].secretBaseId = sCurSecretBaseId; - for (i = 0; i < 4; i++) + for (i = 0; i < TRAINER_ID_LENGTH; i++) gSaveBlock1Ptr->secretBases[0].trainerId[i] = gSaveBlock2Ptr->playerTrainerId[i]; VarSet(VAR_CURRENT_SECRET_BASE, 0); @@ -1291,7 +1291,7 @@ static void SetSecretBaseDataAndLanguage(u8 secretBaseId, struct SecretBase *sec static bool8 SecretBasesHaveSameTrainerId(struct SecretBase *secretBase1, struct SecretBase *secretBase2) { u8 i; - for (i = 0; i < 4; i++) + for (i = 0; i < TRAINER_ID_LENGTH; i++) { if (secretBase1->trainerId[i] != secretBase2->trainerId[i]) return FALSE; @@ -1445,7 +1445,7 @@ bool8 SecretBaseBelongsToPlayer(struct SecretBase *secretBase) return FALSE; // Check if the player's trainer Id matches the secret base's id. - for (i = 0; i < 4; i++) + for (i = 0; i < TRAINER_ID_LENGTH; i++) { if (secretBase->trainerId[i] != gSaveBlock2Ptr->playerTrainerId[i]) return FALSE; diff --git a/src/trade.c b/src/trade.c index d95e4ebf5..c29fe54c3 100644 --- a/src/trade.c +++ b/src/trade.c @@ -3032,7 +3032,7 @@ static u8 sub_8079A3C(u8 *str, u8 whichParty, u8 monIdx) static void sub_8079AA4(u8 *a0, u8 a1, u8 a2) { - u16 arr[4]; + u16 moves[MAX_MON_MOVES]; u16 i; if (!gUnknown_0203229C->unk_51[a1][a2]) @@ -3041,11 +3041,11 @@ static void sub_8079AA4(u8 *a0, u8 a1, u8 a2) { if (!a1) { - arr[i] = GetMonData(&gPlayerParty[a2], i + MON_DATA_MOVE1, NULL); + moves[i] = GetMonData(&gPlayerParty[a2], i + MON_DATA_MOVE1, NULL); } else { - arr[i] = GetMonData(&gEnemyParty[a2], i + MON_DATA_MOVE1, NULL); + moves[i] = GetMonData(&gEnemyParty[a2], i + MON_DATA_MOVE1, NULL); } } @@ -3053,9 +3053,9 @@ static void sub_8079AA4(u8 *a0, u8 a1, u8 a2) for (i = 0; i < MAX_MON_MOVES; i++) { - if (arr[i] != MOVE_NONE) + if (moves[i] != MOVE_NONE) { - StringAppend(a0, gMoveNames[arr[i]]); + StringAppend(a0, gMoveNames[moves[i]]); } StringAppend(a0, gText_NewLine3); diff --git a/src/trainer_hill.c b/src/trainer_hill.c index 77c8fcb53..2a7e003d9 100644 --- a/src/trainer_hill.c +++ b/src/trainer_hill.c @@ -38,58 +38,16 @@ #define HILL_TAG_UNIQUE 2 #define HILL_TAG_EXPERT 3 -#define HILL_TRAINER_NAME_LENGTH 11 #define HILL_MAX_TIME 215999 // 60 * 60 * 60 - 1 -struct TrHillRoomTrainers -{ - u8 name[2][HILL_TRAINER_NAME_LENGTH]; - u8 facilityClass[2]; -}; - -struct TrainerHillTrainer -{ - u8 name[HILL_TRAINER_NAME_LENGTH]; - u8 facilityClass; - u32 unused; - u16 speechBefore[6]; - u16 speechWin[6]; - u16 speechLose[6]; - u16 speechAfter[6]; - struct BattleTowerPokemon mons[PARTY_SIZE]; -}; - -struct TrHillFloor -{ - u8 unk0; - u8 unk1; - struct TrainerHillTrainer trainers[2]; - u8 data[0x100]; - u16 unk3A0[16]; - u8 coords[2]; // x first 4 bits, y last 4 bits - u8 direction; // array of 4 bits for each trainer - u8 range; // array of 4 bits for each trainer -}; - -struct TrHillTag -{ - u8 unkField_0; - u8 unused1; - u8 unkField_2; - u8 unused3; - u8 unused4; - u8 unused5; - u8 unused6; - struct TrHillFloor floors[4]; -}; - +// EWRAM struct TrHillStruct2 { u8 floorId; struct TrHillTag tag; + struct TrHillFloor floors[4]; }; -// EWRAM static EWRAM_DATA struct TrHillStruct2 *sHillData = NULL; static EWRAM_DATA struct TrHillRoomTrainers *sRoomTrainers = NULL; EWRAM_DATA u32 *gTrainerHillVBlankCounter = NULL; @@ -350,7 +308,7 @@ u8 GetTrainerHillTrainerFrontSpriteId(u16 trainerId) SetUpDataStruct(); id = trainerId - 1; - facilityClass = sHillData->tag.floors[sHillData->floorId].trainers[id].facilityClass; + facilityClass = sHillData->floors[sHillData->floorId].trainers[id].facilityClass; FreeDataStruct(); return gFacilityClassToPicIndex[facilityClass]; @@ -367,9 +325,9 @@ void InitTrainerHillBattleStruct(void) { for (j = 0; j < HILL_TRAINER_NAME_LENGTH; j++) { - sRoomTrainers->name[i][j] = sHillData->tag.floors[sHillData->floorId].trainers[i].name[j]; + sRoomTrainers->name[i][j] = sHillData->floors[sHillData->floorId].trainers[i].name[j]; } - sRoomTrainers->facilityClass[i] = sHillData->tag.floors[sHillData->floorId].trainers[i].facilityClass; + sRoomTrainers->facilityClass[i] = sHillData->floors[sHillData->floorId].trainers[i].facilityClass; } SetTrainerHillVBlankCounter(&gSaveBlock1Ptr->trainerHill.timer); FreeDataStruct(); @@ -387,7 +345,7 @@ static void SetUpDataStruct(void) { sHillData = AllocZeroed(sizeof(*sHillData)); sHillData->floorId = gMapHeader.mapLayoutId - LAYOUT_TRAINER_HILL_1F; - CpuCopy32(sDataPerTag[gSaveBlock1Ptr->trainerHill.tag], &sHillData->tag, sizeof(sHillData->tag)); + CpuCopy32(sDataPerTag[gSaveBlock1Ptr->trainerHill.tag], &sHillData->tag, sizeof(sHillData->tag) + 4 * sizeof(struct TrHillFloor)); nullsub_2(); } } @@ -409,16 +367,16 @@ void CopyTrainerHillTrainerText(u8 which, u16 trainerId) switch (which) { case 2: - FrontierSpeechToString(sHillData->tag.floors[floorId].trainers[id].speechBefore); + FrontierSpeechToString(sHillData->floors[floorId].trainers[id].speechBefore); break; case 3: - FrontierSpeechToString(sHillData->tag.floors[floorId].trainers[id].speechWin); + FrontierSpeechToString(sHillData->floors[floorId].trainers[id].speechWin); break; case 4: - FrontierSpeechToString(sHillData->tag.floors[floorId].trainers[id].speechLose); + FrontierSpeechToString(sHillData->floors[floorId].trainers[id].speechLose); break; case 5: - FrontierSpeechToString(sHillData->tag.floors[floorId].trainers[id].speechAfter); + FrontierSpeechToString(sHillData->floors[floorId].trainers[id].speechAfter); break; } @@ -460,7 +418,7 @@ static void sub_81D5924(void) { u16 itemId = sub_81D6640(); - if (sHillData->tag.unkField_2 != 4 || gSaveBlock1Ptr->trainerHill.field_3D6E_0a) + if (sHillData->tag.numFloors != 4 || gSaveBlock1Ptr->trainerHill.field_3D6E_0a) { gSpecialVar_Result = 2; } @@ -556,9 +514,9 @@ static void sub_81D5B2C(void) static void sub_81D5BBC(void) { SetUpDataStruct(); - if (sHillData->tag.unkField_2 != 4) + if (sHillData->tag.numFloors != 4) { - ConvertIntToDecimalStringN(gStringVar1, sHillData->tag.unkField_2, STR_CONV_MODE_LEFT_ALIGN, 1); + ConvertIntToDecimalStringN(gStringVar1, sHillData->tag.numFloors, STR_CONV_MODE_LEFT_ALIGN, 1); gSpecialVar_Result = 0; } else @@ -673,12 +631,12 @@ void sub_81D5DF8(void) eventTemplates[i] = gUnknown_0862A670; eventTemplates[i].localId = i + 1; - eventTemplates[i].graphicsId = FacilityClassToGraphicsId(sHillData->tag.floors[floorId].trainers[i].facilityClass); - eventTemplates[i].x = sHillData->tag.floors[floorId].coords[i] & 0xF; - eventTemplates[i].y = ((sHillData->tag.floors[floorId].coords[i] >> 4) & 0xF) + 5; + eventTemplates[i].graphicsId = FacilityClassToGraphicsId(sHillData->floors[floorId].trainers[i].facilityClass); + eventTemplates[i].x = sHillData->floors[floorId].display.coords[i] & 0xF; + eventTemplates[i].y = ((sHillData->floors[floorId].display.coords[i] >> 4) & 0xF) + 5; bits = i << 2; - eventTemplates[i].movementType = ((sHillData->tag.floors[floorId].direction >> bits) & 0xF) + MOVEMENT_TYPE_FACE_UP; - eventTemplates[i].trainerRange_berryTreeId = (sHillData->tag.floors[floorId].range >> bits) & 0xF; + eventTemplates[i].movementType = ((sHillData->floors[floorId].display.direction >> bits) & 0xF) + MOVEMENT_TYPE_FACE_UP; + eventTemplates[i].trainerRange_berryTreeId = (sHillData->floors[floorId].display.range >> bits) & 0xF; eventTemplates[i].script = EventScript_2C83F0; gSaveBlock2Ptr->frontier.trainerIds[i] = i + 1; } @@ -699,8 +657,8 @@ static u32 sub_81D5F58(u8 floorId, u32 bit, u32 arg2, u32 arg3) { u32 var0, var1, var2, var3; - var0 = (sHillData->tag.floors[floorId].unk3A0[arg2] >> (15 - bit)) & 1; - var1 = sHillData->tag.floors[floorId].data[arg2 * arg3 + bit]; + var0 = (sHillData->floors[floorId].unk3A0[arg2] >> (15 - bit)) & 1; + var1 = sHillData->floors[floorId].data[arg2 * arg3 + bit]; var3 = 0x200; var2 = 0x3000; @@ -943,7 +901,7 @@ static void sub_81D62CC(u16 trainerId, u8 firstMonId) u8 id = gUnknown_0862A698[trId][arrId]; struct Pokemon *mon = &gEnemyParty[i]; - CreateBattleTowerMon(mon, &sHillData->tag.floors[floorId].trainers[trId].mons[id]); + CreateBattleTowerMon(mon, &sHillData->floors[floorId].trainers[trId].mons[id]); sub_81D642C(mon, level); } @@ -978,7 +936,7 @@ u8 GetTrainerEncounterMusicIdInTrainerHill(u16 trainerId) SetUpDataStruct(); trId = trainerId - 1; - facilityClass = sHillData->tag.floors[sHillData->floorId].trainers[trId].facilityClass; + facilityClass = sHillData->floors[sHillData->floorId].trainers[trId].facilityClass; FreeDataStruct(); for (i = 0; i < ARRAY_COUNT(gUnknown_0862A3B4); i++) @@ -1005,7 +963,7 @@ u8 sub_81D6490(void) u8 ret; SetUpDataStruct(); - ret = sHillData->tag.unkField_2; + ret = sHillData->tag.numFloors; FreeDataStruct(); return ret; @@ -1070,8 +1028,8 @@ static u8 sub_81D65E8(u8 arg0) var = 0; for (i = 0; i < 4; i++) { - var ^= sHillData->tag.floors[i].unk0 & 0x1F; - var ^= sHillData->tag.floors[i].unk1 & 0x1F; + var ^= sHillData->floors[i].unk0 & 0x1F; + var ^= sHillData->floors[i].unk1 & 0x1F; } if (arg0) @@ -1091,8 +1049,8 @@ static u16 sub_81D6640(void) for (i = 0; i < 4; i++) { - var += sHillData->tag.floors[i].unk0; - var += sHillData->tag.floors[i].unk1; + var += sHillData->floors[i].unk0; + var += sHillData->floors[i].unk1; } var2 = var / 256; @@ -182,7 +182,7 @@ static void DoTVShowPokemonContestLiveUpdates2(void); static const struct { u16 species; - u16 moves[4]; + u16 moves[MAX_MON_MOVES]; u8 level; u8 location; } sPokeOutbreakSpeciesList[] = { @@ -2329,7 +2329,7 @@ void sub_80EE35C(u16 foeSpecies, u16 species, u8 moveIdx, const u16 *movePtr, u1 show->battleSeminar.foeSpecies = foeSpecies; show->battleSeminar.species = species; show->battleSeminar.move = movePtr[moveIdx]; - for (i = 0, j = 0; i < 4; i ++) + for (i = 0, j = 0; i < MAX_MON_MOVES; i ++) { if (i != moveIdx && movePtr[i]) { diff --git a/src/wild_encounter.c b/src/wild_encounter.c index 84275526e..332bbfb99 100644 --- a/src/wild_encounter.c +++ b/src/wild_encounter.c @@ -143,47 +143,47 @@ static void FeebasSeedRng(u16 seed) static u8 ChooseWildMonIndex_Land(void) { - u8 rand = Random() % 100; + u8 rand = Random() % ENCOUNTER_CHANCE_LAND_MONS_TOTAL; - if (rand < 20) // 20% chance + if (rand < ENCOUNTER_CHANCE_LAND_MONS_SLOT_0) return 0; - else if (rand >= 20 && rand < 40) // 20% chance + else if (rand >= ENCOUNTER_CHANCE_LAND_MONS_SLOT_0 && rand < ENCOUNTER_CHANCE_LAND_MONS_SLOT_1) return 1; - else if (rand >= 40 && rand < 50) // 10% chance + else if (rand >= ENCOUNTER_CHANCE_LAND_MONS_SLOT_1 && rand < ENCOUNTER_CHANCE_LAND_MONS_SLOT_2) return 2; - else if (rand >= 50 && rand < 60) // 10% chance + else if (rand >= ENCOUNTER_CHANCE_LAND_MONS_SLOT_2 && rand < ENCOUNTER_CHANCE_LAND_MONS_SLOT_3) return 3; - else if (rand >= 60 && rand < 70) // 10% chance + else if (rand >= ENCOUNTER_CHANCE_LAND_MONS_SLOT_3 && rand < ENCOUNTER_CHANCE_LAND_MONS_SLOT_4) return 4; - else if (rand >= 70 && rand < 80) // 10% chance + else if (rand >= ENCOUNTER_CHANCE_LAND_MONS_SLOT_4 && rand < ENCOUNTER_CHANCE_LAND_MONS_SLOT_5) return 5; - else if (rand >= 80 && rand < 85) // 5% chance + else if (rand >= ENCOUNTER_CHANCE_LAND_MONS_SLOT_5 && rand < ENCOUNTER_CHANCE_LAND_MONS_SLOT_6) return 6; - else if (rand >= 85 && rand < 90) // 5% chance + else if (rand >= ENCOUNTER_CHANCE_LAND_MONS_SLOT_6 && rand < ENCOUNTER_CHANCE_LAND_MONS_SLOT_7) return 7; - else if (rand >= 90 && rand < 94) // 4% chance + else if (rand >= ENCOUNTER_CHANCE_LAND_MONS_SLOT_7 && rand < ENCOUNTER_CHANCE_LAND_MONS_SLOT_8) return 8; - else if (rand >= 94 && rand < 98) // 4% chance + else if (rand >= ENCOUNTER_CHANCE_LAND_MONS_SLOT_8 && rand < ENCOUNTER_CHANCE_LAND_MONS_SLOT_9) return 9; - else if (rand == 98) // 1% chance + else if (rand == ENCOUNTER_CHANCE_LAND_MONS_SLOT_9) return 10; - else // 1% chance + else return 11; } static u8 ChooseWildMonIndex_WaterRock(void) { - u8 rand = Random() % 100; + u8 rand = Random() % ENCOUNTER_CHANCE_WATER_MONS_TOTAL; - if (rand < 60) // 60% chance + if (rand < ENCOUNTER_CHANCE_WATER_MONS_SLOT_0) return 0; - else if (rand >= 60 && rand < 90) // 30% chance + else if (rand >= ENCOUNTER_CHANCE_WATER_MONS_SLOT_0 && rand < ENCOUNTER_CHANCE_WATER_MONS_SLOT_1) return 1; - else if (rand >= 90 && rand < 95) // 5% chance + else if (rand >= ENCOUNTER_CHANCE_WATER_MONS_SLOT_1 && rand < ENCOUNTER_CHANCE_WATER_MONS_SLOT_2) return 2; - else if (rand >= 95 && rand < 99) // 4% chance + else if (rand >= ENCOUNTER_CHANCE_WATER_MONS_SLOT_2 && rand < ENCOUNTER_CHANCE_WATER_MONS_SLOT_3) return 3; - else // 1% chance + else return 4; } @@ -197,34 +197,34 @@ enum static u8 ChooseWildMonIndex_Fishing(u8 rod) { u8 wildMonIndex = 0; - u8 rand = Random() % 100; + u8 rand = Random() % ENCOUNTER_CHANCE_FISHING_MONS_TOTAL; switch (rod) { case OLD_ROD: - if (rand < 70) // 70% chance + if (rand < ENCOUNTER_CHANCE_FISHING_MONS_SLOT_0) wildMonIndex = 0; - else // 30% chance + else wildMonIndex = 1; break; case GOOD_ROD: - if (rand < 60) // 60% chance + if (rand < ENCOUNTER_CHANCE_FISHING_MONS_SLOT_2) wildMonIndex = 2; - if (rand >= 60 && rand < 80) // 20% chance + if (rand >= ENCOUNTER_CHANCE_FISHING_MONS_SLOT_2 && rand < ENCOUNTER_CHANCE_FISHING_MONS_SLOT_3) wildMonIndex = 3; - if (rand >= 80 && rand < 100) // 20% chance + if (rand >= ENCOUNTER_CHANCE_FISHING_MONS_SLOT_3 && rand < ENCOUNTER_CHANCE_FISHING_MONS_SLOT_4) wildMonIndex = 4; break; case SUPER_ROD: - if (rand < 40) // 40% chance + if (rand < ENCOUNTER_CHANCE_FISHING_MONS_SLOT_5) wildMonIndex = 5; - if (rand >= 40 && rand < 80) // 40% chance + if (rand >= ENCOUNTER_CHANCE_FISHING_MONS_SLOT_5 && rand < ENCOUNTER_CHANCE_FISHING_MONS_SLOT_6) wildMonIndex = 6; - if (rand >= 80 && rand < 95) // 15% chance + if (rand >= ENCOUNTER_CHANCE_FISHING_MONS_SLOT_6 && rand < ENCOUNTER_CHANCE_FISHING_MONS_SLOT_7) wildMonIndex = 7; - if (rand >= 95 && rand < 99) // 4% chance + if (rand >= ENCOUNTER_CHANCE_FISHING_MONS_SLOT_7 && rand < ENCOUNTER_CHANCE_FISHING_MONS_SLOT_8) wildMonIndex = 8; - if (rand == 99) // 1% chance + if (rand == ENCOUNTER_CHANCE_FISHING_MONS_SLOT_8) wildMonIndex = 9; break; } diff --git a/tools/gbafix/gbafix.c b/tools/gbafix/gbafix.c index 9088cdc5f..598e43aa0 100644 --- a/tools/gbafix/gbafix.c +++ b/tools/gbafix/gbafix.c @@ -206,7 +206,7 @@ int main(int argc, char *argv[]) // parse command line for (arg=1; arg<argc; arg++) { - if ((ARGV[0] == '-')) + if (ARGV[0] == '-') { switch (ARGV[1]) { diff --git a/tools/jsonproc/jsonproc.cpp b/tools/jsonproc/jsonproc.cpp index efe48f39f..15eae9dcb 100755 --- a/tools/jsonproc/jsonproc.cpp +++ b/tools/jsonproc/jsonproc.cpp @@ -5,7 +5,7 @@ #include <map> #include <string> -using std::string; +using std::string; using std::to_string; #include <inja.hpp> using namespace inja; @@ -36,7 +36,14 @@ int main(int argc, char *argv[]) // Add custom command callbacks. env.add_callback("doNotModifyHeader", 0, [jsonfilepath, templateFilepath](Arguments& args) { - return "//\n// DO NOT MODIFY THIS FILE! IT IS AUTO-GENERATED FROM " + jsonfilepath +" and Inja template " + templateFilepath + "\n//\n"; + return "//\n// DO NOT MODIFY THIS FILE! It is auto-generated from " + jsonfilepath +" and Inja template " + templateFilepath + "\n//\n"; + }); + + env.add_callback("subtract", 2, [](Arguments& args) { + int minuend = args.at(0)->get<int>(); + int subtrahend = args.at(1)->get<int>(); + + return minuend - subtrahend; }); env.add_callback("setVar", 2, [=](Arguments& args) { @@ -46,11 +53,33 @@ int main(int argc, char *argv[]) return ""; }); + env.add_callback("setVarInt", 2, [=](Arguments& args) { + string key = args.at(0)->get<string>(); + string value = to_string(args.at(1)->get<int>()); + set_custom_var(key, value); + return ""; + }); + env.add_callback("getVar", 1, [=](Arguments& args) { string key = args.at(0)->get<string>(); return get_custom_var(key); }); + env.add_callback("trackVar", 2, [](Arguments& args) { + static int counter = 0; + + int addValue = args.at(0)->get<int>(); + int checkValue = args.at(1)->get<int>(); + + bool over = false; + + counter = (counter + addValue) % (checkValue + 1); + + if (counter <= addValue) over = true; + + return over; + }); + env.add_callback("concat", 2, [](Arguments& args) { string first = args.at(0)->get<string>(); string second = args.at(1)->get<string>(); @@ -67,7 +96,6 @@ int main(int argc, char *argv[]) return rawValue.erase(0, prefix.length()); }); - // Add custom command callbacks. env.add_callback("removeSuffix", 2, [](Arguments& args) { string rawValue = args.at(0)->get<string>(); string suffix = args.at(1)->get<string>(); |